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

现代人复古心

现代人复古心

2016-01-29 16:21

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

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


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

DECLARE @Name   as NVARCHAR(128)
DECLARE @Owner  as NVARCHAR(128)
DECLARE @OwnerName  as NVARCHAR(128)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

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
-- select @name,@NewOwner,@OldOwner

 FETCH NEXT FROM curObject INTO @Name, @Owner
END

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

close curObject
deallocate curObject


GO

 
展开更多 50%)
分享

猜你喜欢

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

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

一个连接两个不同MYSQL数据库的PHP程序

PHP
一个连接两个不同MYSQL数据库的PHP程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

桌面中心(三)修改数据库

PHP
桌面中心(三)修改数据库

两个不同数据库表的分页显示解决方案

ASP
两个不同数据库表的分页显示解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

sql 批量修改数据库表

编程语言 网络编程
sql 批量修改数据库表

桌面中心(三) 修改数据库

PHP
桌面中心(三) 修改数据库

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《暴走武侠》虚竹技能详解

《暴走武侠》虚竹技能详解

如何让IPsec与NAT和平共处

如何让IPsec与NAT和平共处
下拉加载更多内容 ↓