项目经验:oracle中一个用户赋予另外一个用户对表增删改查的权限以及同步更新触发器的创建

来源:互联网 发布:js金沙国际 编辑:程序博客网 时间:2024/05/21 17:26

必须要登录oracle的超级管理员才能赋权限:

我在项目中用的超级管理员设计到安全性  就不在这写出来

赋值语句如下:

grant delete on temszjcuser.ZX_D_SZJCZJBXX TO szjcusergrant insert on temszjcuser.ZX_D_SZJCZJBXX TO szjcusergrant 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_TRIGGERAFTER INSERT OR UPDATE OR DELETE ON szjcuser.ZX_D_SZJCZJBXX FOR EACH ROWBEGIN  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;


 

 

0 0
原创粉丝点击