问题描述
- 关于oracle在一条语句向多个表添加数据
-
我这里有t1,t2,t3三个表,当根据t3和t2中的某些条件做出的判断成立时,向t1和t2中添加数据,能不能这么写
insert all
into t1(t1.column1,t1.column2) values(A,B)
into t2(t2.column1,t2.column2) select t3.column1,
t3.column2 from t3
where not exists
(select 1 from t2,t3 where t2.column1=t3.column1
and t2.column2=t3.column2);
大概就是这样子了,t1的数据是具体的字符,t2的数据是从t3里查到的。
解决方案
大概试验了下 应该是没问题的代码如下
create table student(
sname varchar2(10) not null,
sage number(3)
);
create table course(
cname varchar2(10) not null,
cid number(3)
);
insert into student values('YES',14);
commit;
select * from student;
insert all
into student(sname,sage) values('ABC',12)
into course(cname,cid)
select t3.sname,
t3.sage from student t3
where 2>1;
commit;
select * from student;
select * from course;
解决方案二:
使用查询的结果来插入表,可以阿
时间: 2024-10-18 14:21:29