Oracle触发器插入其他表

时间:2014-03-28 08:55:46

标签: sql oracle join triggers insert

我有2个表my_schoolmy_class

my_school”表格中有“info_id”列,而“my_class”表格中包含“info_id”,然后我想获得一个自动生成的查询info_id“然后我找到了解决方案..

以下是“my_school”表格中的工作TRIGGER ......


CREATE OR REPLACE TRIGGER info_id

 before insert on my_direction 

 for each row

 begin 

 if :NEW.WAY_ID is null then 

 :NEW.WAY_ID := example_id_seq.nextval; 

 end if;

 end;

它有效,并且在插入值时会生成自动ID。 但是现在当用户在my_school表上插入值然后同时使用“my_class”表的“info_id”列时,如何获取此触发器在“my_class”表上执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以在my_school表上创建触发器以更新info_id,类似于您所解释的内容,在插入记录时,请使用return into子句。

声明一个变量来存储返回的值,例如

v_info_id number(9);

并在返回子句

中使用它
insert into my_school(column.......list) 
values (values........list)
RETURNING info_id INTO v_info_id;

在程序中使用v_info_idinfo_id的值插入另一个表中。