新奥资料免费精准期期准,2024新澳天天资料免费大全,澳门六开彩天天正版免费,澳门天天六开彩正版澳门,最准一肖一码一一中特

您的位置:首页技术文章

更改数据库中表的所属用户的两个方法

浏览:121日期:2023-11-20 13:33:07

--更改某个表exec sp_changeobjectowner 'tablename','dbo'

--存储更改全部表CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch@OldOwner as NVARCHAR(128),@NewOwner as NVARCHAR(128)AS

DECLARE @Nameas NVARCHAR(128)DECLARE @Owner; as NVARCHAR(128)DECLARE @OwnerName; as NVARCHAR(128)

DECLARE curObject CURSOR FOR select 'Name'= name, 'Owner'= user_name(uid)from sysobjectswhere user_name(uid)=@OldOwnerorder by name

OPEN; curObjectFETCH NEXT FROM curObject INTO @Name, @OwnerWHILE(@@FETCH_STATUS=0)BEGIN;;if @Owner=@OldOwner begin set @OwnerName = @OldOwner + '.' + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwnerend-- select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @OwnerEND

close curObjectdeallocate curObject

GO