oracle同时往主外键表中插入值

现在向 a和b 表中插入值
  a(ID1, name,sex)
  b(ID2,ID1,Fraction)
ID1,ID2 同为自动增长 ID1 为b表的外键参照a表的ID1
点击保存后同时插入

1、先创建a和b表的序列
CREATE SEQUENCE  SEQ_A;
CREATE SEQUENCE  SEQ_B;
2、插入A表并返回A表当前ID
v_id1 number(20);
insert into a (ID1,name,sex)values(SEQ_A.NEXTVAL,name_value,sex_value) return ID1 into v_id1;
3、插入B表
insert into b (ID2,ID1,Fraction)values(SEQ_B.NEXTVAL,v_id1,franction_value);
4、事务提交
commit;

Oracle中没有自增数据类型,是通过创建序列 (CREATE SEQUENCE  SEQ_A)然后在插入表时调用

序列名.NEXTVAL (SEQ_A.NEXTVAL)来完成的。SEQ_A.NEXTVAL每调用一次就会自动加1,也可以自定义步长 比如+2。

原文地址:https://www.cnblogs.com/xuewater/p/2643182.html