CREATE OR REPLACE TRIGGER TRI_YWGL
BEFORE UPDATE
of sjc on ywgl
for each row
DECLARE
P_tablename ywgl.bm%type;
P_sjw ywgl.sjw%type;
P_zhsjc ywgl.zhsjc%type;
v_ywlb ywgl.ywlb%type;
V_SQL VARCHAR2(1000);
v_zdsj date;
v_sql2 varchar2(1000);
BEGIN
v_ywlb:=:NEW.ywlb;
P_tablename:=:NEW.bm;
p_sjw:=:NEW.SJW;
P_zhsjc:=:NEW.ZHSJC;
if v_ywlb = 'RK' then
v_sql:='CALL PRO_RY_GB_JBXX (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
ELSE IF V_YWLB = 'AJ' THEN
v_sql:='CALL PRO_AJ_GB_JBXX (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
ELSE IF V_YWLB = 'JDC' THEN
v_sql:='CALL PRO_WP_GB_JDC (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
END IF;
END IF;
END IF;
v_sql2:='select max(zhsjc) from '||p_tablename;
execute immediate v_sql2 into v_zdsj;
:new.zhsjc := v_zdsj;
end TRI_YWGL;[@more@]
BEFORE UPDATE
of sjc on ywgl
for each row
DECLARE
P_tablename ywgl.bm%type;
P_sjw ywgl.sjw%type;
P_zhsjc ywgl.zhsjc%type;
v_ywlb ywgl.ywlb%type;
V_SQL VARCHAR2(1000);
v_zdsj date;
v_sql2 varchar2(1000);
BEGIN
v_ywlb:=:NEW.ywlb;
P_tablename:=:NEW.bm;
p_sjw:=:NEW.SJW;
P_zhsjc:=:NEW.ZHSJC;
if v_ywlb = 'RK' then
v_sql:='CALL PRO_RY_GB_JBXX (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
ELSE IF V_YWLB = 'AJ' THEN
v_sql:='CALL PRO_AJ_GB_JBXX (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
ELSE IF V_YWLB = 'JDC' THEN
v_sql:='CALL PRO_WP_GB_JDC (:v1,:v2,:v3)';
execute immediate v_sql using in P_tablename,P_zhsjc,P_SJW;
END IF;
END IF;
END IF;
v_sql2:='select max(zhsjc) from '||p_tablename;
execute immediate v_sql2 into v_zdsj;
:new.zhsjc := v_zdsj;
end TRI_YWGL;[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8345941/viewspace-953459/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8345941/viewspace-953459/