create or replace trigger a_tri
before insert on a
for each row
begin
--proc 做为存储过程名
proc(a);--a是表名同时做为存储过程的参数传递。
end;
想实现这样的一个触发器,我该怎么做?
分享到:更多
------解决方案--------------------
create or replace trigger a_tri
before insert on A
for each row
declare
t_name varchar2(10);
begin
--proc 做为存储过程名
select t.table_name into t_name from all_triggers t where t.trigger_name='A_TRI';
proc(T_NAME);--a是表名同时做为存储过程的参数传递。
end;
------解决方案-------------------- 请问你在定义触发器的时候你还不知道作用在哪个表?
所以你在下面调用存储过程的时候已经可以直接写表名。 ------解决方案-------------------- select 'a' into t_name from dual;
这样可以吗