使用T-sql将存储过程从一个数据库复制到另一个数据库

时间:2016-11-01 20:10:11

标签: sql-server stored-procedures dynamic copy

我正在使用sql server

我想使用T-sql将存储过程从一个数据库复制到另一个数据库, 但我的存储过程包含动态sql。

我从sys.sql_modules获取定义并使用此代码执行它

exec sp_executesql @sp_definition

但它给了我错误:

  

消息102,级别15,状态1,行23错误的语法附近' + @tblName +'

我的存储过程示例

CREATE Procedure insertRow
(
    @tblName nvarchar(250), 
    @value  nvarchar(250)
)
AS
    DECLARE @script nvarchar(1000)
    SET @script='INSERT INTO '+@tblName +' VALUES('+@value+')'
    exec @script

如何逃脱引号以成功执行

1 个答案:

答案 0 :(得分:0)

解决方案是正确地转义引号并使用'''而不是仅使用一个引用