当我使用 JMeter JDBC request 时在 Oracle DB 上,语句中不允许 ;
。
SQL query. Do not enter a trailing semi-colon.
例如
insert into a select '1' from dual;
insert into b select '1' from dual
会产生异常(当拆分为2个单独的请求时它会起作用):
java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
如果我想执行测试数据的清除/插入,我无法使用 1 个 JDBC 请求插入多个表,并且我必须为每个表创建至少 1 个请求(每个表可以有多个值) )。
除了使用可调用语句之外,还有其他方法可以插入/更新/删除吗?
此限制是否仅与 SQL 注入(inject)有关?
最佳答案
插入可以使用INSERT ALL
,例如
insert all
into a (col) values ('1')
into b (col) values ('2')
select * From dual
更新和删除不行;恐怕您必须为每个表使用一个语句,除非您想使用 PL/SQL 并调用一个过程来完成所有这些工作。
关于java - 在单个 SQL 语句中插入/更新/删除多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205396/