Oracle MERGE和java编写的语句

时间:2016-03-11 17:21:22

标签: oracle merge

我有以下代码,其sql脚本在sql开发人员上完美运行,但在java代码中使用时,即

String MergeSQLMapping = "MERGE INTO test.test_table USING dual ON (CLN_POL_CODE = 22222) "
                + "WHEN MATCHED THEN "
                + "UPDATE SET  COMPANY_NAME = 'kevin', POL_ID = '22222', MAPPED_BY = '22222' "
                + "WHEN NOT MATCHED THEN INSERT (COMPANY_NAME, POL_ID, CLN_POL_CODE, MAPPED_BY) "
                + "VALUES ('kevin', '22222', '22222', 'workerservice'); ";
        System.out.println(MergeSQLMapping);
        dbMergeConnection = DBConnection.getStagingConnection();
        try {
            PreparedStatement ps = dbMergeConnection.prepareStatement(MergeSQLMapping);
            ps.execute();
            dbMergeConnection.commit();
            ps.close();
        } catch (SQLException e) {       
            System.out.println(e.getMessage()); 
        } finally {
        }

我收到以下错误

ORA-00933: SQL command not properly ended

任何给予的帮助都将受到赞赏。

0 个答案:

没有答案