【发布时间】:2018-11-05 15:42:53
【问题描述】:
CREATE PROCEDURE [lot].[wipeAll]
@num VARCHAR(16),
@quotaType INT,
@TableName NVARCHAR(128)
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM @TableName WITH (TABLOCKX)
WHERE num = @num AND quotaType = @quotaType;
END
我不知道如何解决我遇到的这个错误
Tablockx 附近的语法不正确。期待 '(' 或选择
从上面的代码sn-p。任何帮助将不胜感激!
【问题讨论】:
-
你不能这样参数化表名。
-
这不是提示造成的,去掉它还是会失败。对象名不能使用参数,必须是动态SQL
-
由于表名而出现问题。您正在尝试引用 SQL 无法识别的列,以便问题再次出现。给表名
-
@Halilİbrahim,删除的意义何在;从最后?问题与列无关,不是吗?
-
Nvm 在“结束”处显示错误。但在更正表名后一切正常
标签: sql-server tsql stored-procedures dynamic-sql