2

我有一个 SQL MERGE 语句在 Oracle 11g(开发环境)中完美运行,但是当我尝试在 Oracle 9i(生产环境)中运行它时,它给了我以下错误:ORA-00905:缺少关键字。

有什么方法可以在 Oracle 9i 中完成这项工作?这是声明:

MERGE INTO non_asset dst
   USING (SELECT tag, comments, computer_role
            FROM non_asset_backup
           WHERE sub_group = 'AALVOIP') src
   ON (dst.tag = src.tag)
   WHEN MATCHED THEN
      UPDATE
         SET dst.comments = src.comments,
             dst.computer_role = src.computer_role
4

1 回答 1

3

在 9 i中,theWHEN MATCHEDWHEN NOT MATCHED分支机构都是强制性的。在 10 g和之后,其中一个可能会丢失(但显然不能同时丢失)。请参阅http://docs.oracle.com/cd/B10501_01/server.920/a96540/statements_915a.htm#2080942http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9016。 htm#i2081218

于 2012-05-17T15:05:14.900 回答