create or replace trigger a_tri before insert or update or delete on a for each row v_col varchar2(10); begin select col_name into v_col from a where ...; --可以这样操作,只要行级别前就可 ... end; /
welyngj(平平淡淡):我的意思就是在例如:在写表a上的触发器时,不能查询本表的数据如:定义游标cursor cur_tmp is select a1,a2 from a
SQL> select * from aa; NUM STR ---------- ---------- 0 1SQL> SQL> create trigger aa_tri 2 before insert on aa 3 for each row 4 declare 5 cursor t_sor is 6 select * from aa; 7 begin 8 for v_sor in t_sor loop 9 dbms_output.put_line(v_sor.num||v_sor.str); 10 end loop; 11 end; 12 /Trigger createdSQL> insert into aa values(1,'2');1 row insertedSQL> select * from aa; NUM STR ---------- ---------- 0 1 1 2
before insert or update or delete on a
for each row
v_col varchar2(10);
begin
select col_name into v_col from a where ...; --可以这样操作,只要行级别前就可
...
end;
/
---------- ----------
0 1SQL>
SQL> create trigger aa_tri
2 before insert on aa
3 for each row
4 declare
5 cursor t_sor is
6 select * from aa;
7 begin
8 for v_sor in t_sor loop
9 dbms_output.put_line(v_sor.num||v_sor.str);
10 end loop;
11 end;
12 /Trigger createdSQL> insert into aa values(1,'2');1 row insertedSQL> select * from aa; NUM STR
---------- ----------
0 1
1 2