我想以编程方式将我的存储过程从一个数据库复制到另一个数据库 我试过很多方法是不可能的,我尝试使用以下命令
exec(string Sql)
但是有些sp是以这种方式执行的,但是有些人用正确的语法说... 这样做的最佳方法是什么......
我使用sql server 2005
任何人都可以帮助我
答案 0 :(得分:1)
以下是将Master数据库中的所有sp复制到目标数据库的代码,您可以通过过滤程序名称上的查询来复制您喜欢的sp。
@sql定义为nvarchar(max) @Name是目标数据库
DECLARE c CURSOR FOR
SELECT Definition
FROM [ResiDazeMaster].[sys].[procedures] p
INNER JOIN [ResiDazeMaster].sys.sql_modules m ON p.object_id = m.object_id
OPEN c
FETCH NEXT FROM c INTO @sql
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = REPLACE(@sql,'''','''''')
SET @sql = 'USE [' + @Name + ']; EXEC(''' + @sql + ''')'
EXEC(@sql)
FETCH NEXT FROM c INTO @sql
END
CLOSE c
DEALLOCATE c
如果要使用sql server工具,请按照 SQL Server - copy stored procedures from one db to another