아래의 문을 사용하여 테이블에 데이터를 업데이트/삽입하고, 매개 변수없이 실행하면 괜찮습니다. 그러나, 곧 그것이 발생 매개 변수를 사용하여 실행하려고 같이SQL0418N 오류를 해결하는 방법
SQL0418N을 - 성명이 지정되지 않은 매개 변수 표시 문자, DEFAULT 키워드 또는 유효하지 않은 null 값의 사용이 포함되어 있습니다.
오류 정보 here을 읽었지만 내 진술이 실행되지 않는 이유와 여전히 고민 중입니다.
--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;
미리 도움을 청하십시오!
[tag : tsql]은 Microsoft SQL Server 및 Sysbase ASE에서 지원되는 SQL의 dialect 인 transact sql을 나타냅니다. [tag : db2]는 IBM의 SQL 제품인 DB2를 의미합니다. 그들은 서로 다른 제품을 사용하기 때문에 거의 함께 사용해서는 안됩니다. 태그를 조정하십시오. –
@Damien_The_Unbeliever를 정리해 주셔서 감사합니다. 나는 그것을 돌 보았다. – elucid8