无法合并DB2



我正在尝试在DB2 AS400中进行UPSERT(更新或插入)。我遵循了IBM指定的准则。但是,它说合并无效。这是我的查询。

MERGE INTO myTable AS tab
USING (VALUES
    (123pk,'6','11','22','33',CURDATE())
) AS merge (TSPK,adf1,adf2,adf3,adf4,adf5)
ON tab.TSPK= merge.TSPK
WHEN MATCHED THEN
    UPDATE SET tab.TSPK= merge.TSPK,
               tab.adf1= merge.adf1,
               tab.adf2= merge.adf2,
               tab.adf3= merge.adf3,
              tab.adf4= merge.adf4
              tab.adf5= CURDATE()                  
WHEN NOT MATCHED THEN
    INSERT (TSPK,adf1,adf2,adf3,adf4,adf5 )
    VALUES (merge.TSPK, merge.adf1, merge.adf2,merge.adf3,merge.adf4,CURDATE())

它扔的错误是

 [SQL0104] Token MERGE was not valid. Valid tokens: ( CL END GET SET CALL DROP FREE HOLD LOCK OPEN WITH ALTER. [SQL State=42601, DB Errorcode=-104] 

在DB2中,它表明我们可以使用合并关键字。https://www.ibm.com/developerworks/community/blogs/sqltips4db2luw/entry/merge?lang=en

在IBM I 7.1上为I中添加了DB2。如果您使用的是较早版本(6.1或更早),不仅无法使用,而且不能使用MERGE语句。

相关内容

  • 没有找到相关文章

最新更新