我正在使用下面的语句将一些数据更新/插入到表中,如果我在没有参数的情况下运行它,那很好。但是,一旦我尝试使用它抛出的参数执行它:
SQL0418N - 语句包含对无类型参数标记、DEFAULT 关键字或无效空值的使用。
我已阅读此处的错误信息,但我仍在为为什么我的语句无法执行而苦苦挣扎。
--This statement works
MERGE Into AB.Testing_Table A
USING (VALUES('TEST', 'P')) B(TEST_ID, "ACTION")
ON (A.TEST_ID = B.TEST_ID)
WHEN NOT MATCHED THEN
INSERT (TEST_ID, "ACTION")
VALUES ('TEST', 'P')
WHEN MATCHED THEN
UPDATE SET TEST_ID = 'TEST'
,"ACTION" = 'P';
--This statement fails with error SQL0418N
MERGE Into AB.Testing_Table A
USING (VALUES(@TEST, @ACTION)) B(TEST_ID, "ACTION")
ON (A.TEST_ID = B.TEST_ID)
WHEN NOT MATCHED THEN
INSERT (TEST_ID, "ACTION")
VALUES (@TEST, @ACTION)
WHEN MATCHED THEN
UPDATE SET TEST_ID = @Test
,"ACTION" = @Action;
在此先感谢您的帮助!