Sql 存储过程中的语法错误
我试图编写一个小的存储过程,以编程方式清理数据库 为此, 首先,我要删除所有外键约束 第二个,我将删除所有主键约束 第三,我把所有的桌子都扔了 我已经编写了以下代码来完成上述三个步骤(第三个步骤尚未开始) 我收到以下错误:Sql 存储过程中的语法错误,sql,sql-server,Sql,Sql Server,我试图编写一个小的存储过程,以编程方式清理数据库 为此, 首先,我要删除所有外键约束 第二个,我将删除所有主键约束 第三,我把所有的桌子都扔了 我已经编写了以下代码来完成上述三个步骤(第三个步骤尚未开始) 我收到以下错误: Msg 102,15级,状态1,程序usp_CleanupDB,第15行 “@ForeignKeyContainedTableName”附近的语法不正确。 Msg 102,15级,状态1,程序usp_CleanupDB,第33行 “@PrimaryKeyContainedTa
Msg 102,15级,状态1,程序usp_CleanupDB,第15行
“@ForeignKeyContainedTableName”附近的语法不正确。
Msg 102,15级,状态1,程序usp_CleanupDB,第33行
“@PrimaryKeyContainedTableName”附近的语法不正确。
有人能告诉我如何解决这个问题吗?您不能在DDL命令中使用变量作为对象名,如
ALTER TABLE
您不能在DDL命令中使用变量作为对象名,如ALTER TABLE
请使用下面的方法,同时在顶部声明变量,这样每个变量都可以在任何地方使用
EXECUTE('ALTER TABLE ' + @PrimaryKeyContainedTableName + ' DROP CONSTRAINT '+ @PrimaryKeyConstraint)
请您使用下面的方法,同时在顶部声明您的变量,以便每个变量都适用于任何地方
EXECUTE('ALTER TABLE ' + @PrimaryKeyContainedTableName + ' DROP CONSTRAINT '+ @PrimaryKeyConstraint)