您好我试图执行本机查询:
String script = " Insert into ASSIGNMENT_GROUP (OID,VERSION,DEPARTMENT,NAME) values ('abf7e0e086f311e29e960800200c9a66','0','KS','4441'); ";
(该脚本将包含多个插入,但当我只使用一个时它已经失败了)
使用此方法:
public void runNativeScript(String script) {
Query q = oracleMgr.createNativeQuery("BEGIN "+script + "END;");
q.executeUpdate();
}
并收到以下错误:
Caused by: java.sql.SQLException: Unexpected token: BEGIN in statement [BEGIN]
如果我删除了Begin和End单词,脚本将执行没有任何问题,但由于我要在一个脚本中执行多次插入,我需要BEGIN和END。
任何人都可以帮助我,告诉我出了什么问题吗?提前谢谢。
答案 0 :(得分:0)
尝试这样的事情:
public void runNativeScript(String script) {
Query q = oracleMgr.createNativeQuery("{ call BEGIN " + script + " END }");
q.executeUpdate();
}
这是标准的SQL92语法。您可以在http://docs.oracle.com/cd/E11882_01/java.112/e16548/getsta.htm#JJDBC28075中看到示例。