在Oracle中,可以通过执行查询来插入多行INSERT ALLINTO mytable (column1, column2, column3) VALUES (val1.1, val1.2, val1.3)INTO mytable (column1, column2, column3) VALUES (val2.1, val2.2, val2....
在Oracle中,可以通过执行查询来插入多行
INSERT ALL
INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')
INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')
INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3')
SELECT * FROM dual;
并准备好一个声明,像这样做一个插入
BEGIN INSERT
INTO mytable (column1, column2, column3) VALUES (null, 'val1.2', 'val1.3')
RETURNING column1 INTO ?; END;
将导致返回column1的值(假设在插入之前有一个触发器为其赋值).
如果可能的话,有没有办法将两者结合起来?这意味着,在仍然使用单个查询返回所有column1值(结果集)的同时插入多个值?
解决方法:
从documentation(至少10g版本),对返回子句的限制之一:
You cannot specify the
returning_clause for a multitable
insert.
沃梦达教程
本文标题为:java – Oracle SQL插入多行并返回一些东西
基础教程推荐
猜你喜欢
- Java 中如何使用 stream 流 2023-05-08
- Spring源码阅读MethodInterceptor解析 2023-07-01
- 详解velocity模板使javaWeb的html+js实现模块化 2023-08-01
- spring学习JdbcTemplate数据库事务管理 2022-11-25
- jsp从数据库获取数据填充下拉框实现二级联动菜单的方法 2023-08-03
- SpringBoot使用thymeleaf实现一个前端表格方法详解 2023-06-06
- 将Java Character对象值插入Oracle CHAR(1)列时出错 2023-11-03
- Java设计模式之迭代器模式 2023-06-10
- java基于quasar实现协程池的方法示例 2023-01-24
- java实现银行ATM管理系统 2022-11-16