shwq.net
当前位置:首页 >> orAClE中insErt语句.用A表关联B表,并且将关联出... >>

orAClE中insErt语句.用A表关联B表,并且将关联出...

insert into b(col1,col2,col3....) select a.col1,a.col2,a.col3... from a where not exists(select 1 from b where b.fx_id = a.fx_id)

语句如下: insert into B as select * from A; 解释:B表的表结构必须和A表的 相同,否则无法插入。 可以优化语句: insert into B(id,name) as select A.id,A.name from A;

insert into 表名B(主键字段) value (select 主键字段 from 表名A where 插入数据的特征字段=XXX) 如果需要同步执行,建议你写存储过程或者触发器 当A表有更新就触发或者调用存储过程 执行2段SQL

1、不用随机生成,只用主键序列,建议使用一个唯一的序列,即除了t表别的表不会用到的序列。 2、插入t表之后,select max(tid) from t; 得到刚刚插入的序列的最大值,在后面将这个值插入数据库。

在插入到表1前,b,c在表2、表3中已经存在吧? 在触发器中对表1列的引用,要用:new的关键字,表示新插入的行。不要用t1。

insert into b values(seq_b.nextval,'aa'); insert into a values(seq_a.nextval,(select bid from b where b.name = 'aa'));

--先在A中添加两个字段 alter table A add d varchar2(100); alter table A add e varchar2(100); insert into A (a,b,c,d,e) select a,b,c,d,e from B; commit;

insert into A表(A1) select sum(b1栏位) from B表 或者 update A表 set A1=(select sum(b1栏位) from B表)

插入的那列值有变化么?如果有,那可能要做一张临时表将这些值录进去,然后再通过关联去插入。 如果没有,那么可以直接写的 比如 A表 id name sex age B表 id name age 假设这里只有男人sex的值都是1 那么就是 insert into A(id,name,sex,age) s...

如果就insert 这三个字段,而字段都是空的,那么不能用insert语句。如果还有其他字段,比如是ID,ID不为空,而这三个字段为空,可以用insert语句 insert into mid(id,months, fee, bill_fee) values(1,null,null,null); commit;

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com