sql实现同时向主表和子表插入数据方法

  使用sql语句实现同时向主表和子表插入数据方法:

  Oracle:

-- oracle创建sequence
create sequence SEQ_test
minvalue 1
maxvalue 99999999999999999999999999
start with 21
increment by 1
cache 20;

-- oracle 得到新插入数据的ID并使用
DECLARE newID varchar2(50);
begin
insert into table1(ID,aa,bb) values(SEQ_test.nextval,'7777','8888') RETURNING ID INTO newID;
COMMIT;
insert into table2(ID,pid) values(SEQ_test.nextval,newID);
end;

  SQL Server:

-- SQL Server 得到新插入数据的ID并使用
DECLARE @id int 
insert into table1(name,password) values (...)
set @id=@@identity --取到刚插入的id
insert into table2(age,sex,userid) values (...@id)

  

原文地址:https://www.cnblogs.com/Big-Boss/p/11377693.html