2 lzyyqxxh lzyyqxxh 于 2016.02.01 15:09 提问

关于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里查到的。

2个回答

Yiran8935
Yiran8935   2016.02.01 15:46
已采纳

大概试验了下 应该是没问题的代码如下
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;

fk002008
fk002008   2016.02.01 15:45

使用查询的结果来插入表,可以阿

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!