关于SQL数据表存储过程表名前缀换成dbo代码
2015-05-12 18:12
344 查看
1.全部表名换成dbo
<span style="font-size:18px;">EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '</span>
2.存储过程全部换成dbo
<span style="font-size:18px;">CREATE PROCEDURE dbo.ChangeObjectOwner
@OldOwner as NVARCHAR(128)='dbo',--参数原所有者
@NewOwner as NVARCHAR(128)='dbo'--参数新所有者
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
</span>
然后在运行
<span style="font-size:18px;">exec ChangeObjectOwner '数据库','dbo'
</span>
<span style="font-size:18px;">EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '</span>
2.存储过程全部换成dbo
<span style="font-size:18px;">CREATE PROCEDURE dbo.ChangeObjectOwner
@OldOwner as NVARCHAR(128)='dbo',--参数原所有者
@NewOwner as NVARCHAR(128)='dbo'--参数新所有者
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
</span>
然后在运行
<span style="font-size:18px;">exec ChangeObjectOwner '数据库','dbo'
</span>
相关文章推荐
- sql生成(插入、修改、删除数据的存储过程)代码的存储过程
- sql生成(查询数据的存储过程)代码的存储过程
- sql生成(c#调用存储过程返回数据表)代码的存储过程
- Sql语句与存储过程查询数据的性能测试实现代码
- sql 存储过程分页代码 支持亿万庞大数据量
- Sql语句与存储过程查询数据的性能测试实现代码
- [SQL]向3个表插入数据的存储过程 和 C# 代码
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
- 在C#中用最简洁有效的代码执行存储过程并返回数据
- 在C#中用最简洁有效的代码执行存储过程并返回数据
- SQL Server 第四堂课,创建存储过程。存储过程是一组编译在单个执行计划中的transact-SQL语句。存储过程相当于C#函数,可以允许模块化程序设计,允许更快执行如果某操作需要大量transct-SQL代码或需要重复执行,将在创建存储过程中对其进行分析和优化。
- sql导数数据到脚本的存储过程
- sql 存储过程千万条数据分页
- 关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
- SQL Server AB表同结构的简单数据同步存储过程
- sql存储过程通过ID删除两表中的数据。
- sql定期移植数据的存储过程
- SQL 导出表数据存储过程