Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 存储过程中的语法错误_Sql_Sql Server - Fatal编程技术网

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)