有时我们要把查询的结果保存到新表里,创建新表,查询,插入显得十分麻烦。
可以把查询结果集插入到表中
如果表存在
INSERT INTO Tab1 SELECT * FROM Tab2
insert into Tab1(a,b,c) select from Tab2(a,b,c);
// 如果两个结构一样可以
insert into Tab1(a,b,c) select * from Tab2;
如果表不存在
create table Tab1 as select * from Tab2
如果插入之后有修改其他表数据需求的话 ,要注意加上for update(事务),或者在调用此方法加上事务注解。
@Transactional(rollbackFor = Exception.class)
insert into Tab1(a,b,c) select * from Tab2 for update;