Oracle 将一个表中的数据插入到另一个表中

1.(前提条件)有序列 

-- 创建一个序列 

create sequence S_LCJSRYGLB
minvalue 0
maxvalue 999999999999999999
start with 0
increment by 1
nocache;

2.含有序列-从一个表中查询再插入数据

insert into lcjsryglb(lcjsryglid,lcjsbmbid, rybossid, ryid)
(select s_Lcjsryglb.Nextval,1, t.BOSSID,t.id from V_userinfo t where t.BOSSID in(select w.bossid from dwjbxxb w where w.jyjsbmid=839600002));

s_Lcjsryglb.Nextval  查询下一个序列

3.直接插入除序列不同其他都相同的序列

insert into lcjsryglb(lcjsryglid,lcjsbmbid, rybossid, ryid)
(lcjsryglid.Nextval,1,12,15));

----

1.创建新增的存储过程

CREATE OR REPLACE PROCEDURE LCJSRYGLB_Insert
(
PLCJSRYGLID OUT NUMBER,
PLCJSBMBID IN NUMBER,
PRYBOSSID IN NUMBER,
PRYID IN NUMBER
)
IS
BEGIN
INSERT INTO LCJSRYGLB
(
LCJSRYGLID,
LCJSBMBID,
RYBOSSID,
RYID
)
VALUES
(
S_LCJSRYGLB.NEXTVAL,
PLCJSBMBID,
PRYBOSSID,
PRYID
);
SELECT S_LCJSRYGLB.CURRVAL INTO PLCJSRYGLID FROM DUAL;
END LCJSRYGLB_Insert;

2.编辑的存储过程