首页 » 数据库 » MS SQL 2000/2005 修改表所有者存储过程

MS SQL 2000/2005 修改表所有者存储过程

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

, ,

转发到新浪微博 转发到新浪微博

目前这篇文章有51条评论(Rss)

我要评论