必须要登录oracle的超级管理员才能赋权限:
我在项目中用的超级管理员设计到安全性 就不在这写出来
赋值语句如下:
grant delete on temszjcuser.ZX_D_SZJCZJBXX TO szjcuser
grant insert on temszjcuser.ZX_D_SZJCZJBXX TO szjcuser
grant update on temszjcuser.ZX_D_SZJCZJBXX TO szjcuser
这里面把temszjcuser中的对ZX_D_SZJCZJBXX这张表的删除、插入、更新权限赋给了szjcuser 是为了下一步在szjcuser下建立触发器,同步更新到temszjcuser.ZX_D_SZJCZJBXX做准备
退出超级管理用户,登录szjcuser用户,执行写好的创建触发器的sql语句,如下:
CREATE OR REPLACE TRIGGER ZX_D_SZJCZJBXX_TRIGGER
AFTER INSERT OR UPDATE OR DELETE ON szjcuser.ZX_D_SZJCZJBXX FOR EACH ROW
BEGIN
CASE
WHEN inserting THEN
INSERT IntO temszjcuser.ZX_D_SZJCZJBXX(stcd,czmc,islsjc,czdj,jcfs,lgtd,lttd,zz,addvcd,qdbm,wrrcd,gldw,jcdw,jzny,czny,cjsj,scxgsj,nt,zdfl,sortid,JCHD,ZQSJL,KSJCSJ,ZZJCSJ,CX,CYD,CYQHCYFF,QDHL,WRYPF)
VALUES(:NEW.stcd,:NEW.czmc,:NEW.islsjc,:NEW.czdj,:NEW.jcfs,:NEW.lgtd,:NEW.lttd,:NEW.zz,:NEW.addvcd,:NEW.qdbm,:NEW.wrrcd,:NEW.gldw,:NEW.jcdw,:NEW.jzny,:NEW.czny,:NEW.cjsj,:NEW.scxgsj,:NEW.nt,:NEW.zdfl,:NEW.sortid,:NEW.JCHD,:NEW.ZQSJL,:NEW.KSJCSJ,:NEW.ZZJCSJ,:NEW.CX,:NEW.CYD,:NEW.CYQHCYFF,:NEW.QDHL,:NEW.WRYPF);
WHEN updating THEN
UPDATE temszjcuser.ZX_D_SZJCZJBXX SET czmc=:NEW.czmc,islsjc=:NEW.islsjc,czdj=:NEW.czdj,jcfs=:NEW.jcfs,lgtd=:NEW.lgtd,lttd=:NEW.lttd,zz=:NEW.zz,addvcd=:NEW.addvcd,qdbm=:NEW.qdbm,wrrcd=:NEW.wrrcd,gldw=:NEW.gldw,jcdw=:NEW.jcdw,jzny=:NEW.jzny,czny=:NEW.czny,cjsj=:NEW.cjsj,scxgsj=:NEW.scxgsj,nt=:NEW.nt,zdfl=:NEW.zdfl,sortid=:NEW.sortid,JCHD=:NEW.JCHD,ZQSJL=:NEW.ZQSJL,KSJCSJ=:NEW.KSJCSJ,ZZJCSJ=:NEW.ZZJCSJ,CX=:NEW.CX,CYD=:NEW.CYD,CYQHCYFF=:NEW.CYQHCYFF,QDHL=:NEW.QDHL,WRYPF=:NEW.WRYPF WHERE stcd=:old.stcd;
WHEN deleting THEN
DELETE temszjcuser.ZX_D_SZJCZJBXX WHERE stcd=:old.stcd;
END CASE;
END;