oracle数据库 一主表 A 一子表 B 主表id自动增长,怎么根据A表ID 插入B表多条数据? 求sql

2025-05-09 03:46:22
推荐回答(3个)
回答1:

可以将A表的ID做成一个序列,添加的时候将序列的值取出来,供A,B表使用.
Declare
seqval NUMBER(10);
BEGIN
select seq_table.nextval into seqval from dual;
insert into A(id,) values (seqval);
INSERT INTO MP_EXP_REQ_LINES (id,name) VALUES (seqval,张三)
--这样就保证了与A表唯一id的一致性!
END;

回答2:

写个触发器
CREATE OR REPLACE TRIGGER t_t1_insert
BEFORE INSERT ON t_t1
FOR EACH ROW
declare

v_line number;
BEGIN
v_line := to_char(new.id);

if(v_line<1) then
dbms_output.put_line('请输入>=1的整数');
end if;

for v in 1..p_line loop
INSERT INTO MP_EXP_REQ_LINES (id,name) VALUES (new.id,new.name);
end loop;

END t_t1_insert;

回答3:

b表有个字段它的值为a表的id,可以有多条数据啊。