有时候折腾sqlserver数据库的用户名,导入导出的时候忘了选所有者了,这时候这个sql就用上了,通过测试
declare
@
name
sysname
--表名变量
declare
csr1
cursor
--定义一个游标
for
select
name
from
sysobjects
where
xtype =
'u '
--取表名
open
csr1
declare
@SchemaTable
varchar
(200)
FETCH
NEXT
FROM
csr1
INTO
@
name
while (@@FETCH_STATUS=0)
BEGIN
SET
@
name
=
'旧的架构.'
+ @
name
print
'ALTER SCHEMA dbo TRANSFER '
+ @
name
--这里的dbo是新的架构,记得修改
set
@SchemaTable =
'ALTER SCHEMA dbo TRANSFER '
+ @
name
--执行语句
exec
(@SchemaTable)
--开始执行
fetch
next
from
csr1
into
@
name
--循环游标值
END
CLOSE
csr1
---关闭游标
DEALLOCATE
csr1
|
这个有时候真的很有用,所以mark一下