ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 修改储存过程所有者

修改储存过程所有者

原创 Linux操作系统 作者:iSQlServer 时间:2009-07-23 10:54:13 0 删除 编辑

转自:http://www.dreamershop.com/info/n1023c7.aspx

修改储存过程所有者

CREATE    PROCEDURE    dbo.ChangeObjectOwner   
   @OldOwner as    NVARCHAR(128),--参数原所有者   
   @NewOwner as    NVARCHAR(128)--参数新所有者   
   AS   
    
   DECLARE    @Name    as    NVARCHAR(128)     
   DECLARE    @Owner as    NVARCHAR(128)   
   DECLARE    @OwnerName as    NVARCHAR(128)   
    
   DECLARE    curObject    CURSOR    FOR     
   select 'Name' =    name,   
   'Owner' =    user_name(uid)   
   from    sysobjects   
   where    user_name(uid)=@OldOwner   
   order    by    name   
    
   OPEN      curObject   
   FETCH    NEXT    FROM    curObject    INTO    @Name,    @Owner   
   WHILE(@@FETCH_STATUS=0)   
   BEGIN           
   if    @Owner=@OldOwner     
   begin   
   set    @OwnerName    =    @OldOwner    +    '.'    +    rtrim(@Name)   
   exec    sp_changeobjectowner    @OwnerName,    @NewOwner   
   end   
    
   FETCH    NEXT    FROM    curObject    INTO    @Name,    @Owner   
   END   
    
   close    curObject   
   deallocate    curObject   
   GO

exec ChangeObjectOwner 'OldOwner','newOwner'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-609998/,如需转载,请注明出处,否则将追究法律责任。

下一篇: SQL触发器(二)
请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2074052