我正在尝试创建一个脚本来创建/设置一组非常相似的存储过程。
所以我试图遍历这段代码,在需要时更改@DATABASE_NAME
and @TableName
。
/* Start loop */
DECLARE @create_stored_procedure nvarchar(max)
SET @create_stored_procedure = N'
USE [' + @DATABASE_NAME + ']
CREATE PROCEDURE [dbo].[sproc_imp_' + @TableName + ']
AS
BEGIN
PRINT(''doing something'')
END'
EXEC sp_executesql @statement = @create_stored_procedure
/* End loop */
但我收到错误说
'CREATE/ALTER PROCEDURE' 必须是查询批处理中的第一条语句。
或者
“CREATE/ALTER PROCEDURE”不允许将数据库名称指定为对象名称的前缀。
网上的所有解决方案都建议使用 GO,但这在动态 SQL 中不起作用。
有谁知道 SQL Server 2005 的可能解决方案?