Oracle触发器修改自身字段解决方案
2014-03-17 14:37
309 查看
--创建表结构 /* CREATE TABLE TBL_USER( USER_ID INTEGER PRIMARY KEY, UNAME VARCHAR2(20) NOT NULL, UPWD VARCHAR2(20) NOT NULL, LAST_MODIFIED DATE );*/ --1、创建程序包 CREATE OR REPLACE PACKAGE PKG_TBLUSER_UPDATE AS G_ID TBL_USER.USER_ID%TYPE; END PKG_TBLUSER_UPDATE; / --2、创建行触发器 CREATE OR REPLACE TRIGGER AFTER_UPD_TBLUSER_ROWTRG AFTER UPDATE OF UNAME ON TBL_USER FOR EACH ROW BEGIN PKG_TBLUSER_UPDATE.G_ID:=:NEW.USER_ID; END; / --3、创建语句触发器(根据程序包的全局变量,对数据表TBLUSER字段进行更新) CREATE OR REPLACE TRIGGER AFTER_UPD__TBLUSER_TRG AFTER UPDATE OF UNAME ON TBL_USER BEGIN UPDATE TBL_USER SET LAST_MODIFIED = SYSDATE WHERE USER_ID = PKG_TBLUSER_UPDATE.G_ID; END; /然后就是插入一条数据,修改插入的数据,就会触发触发器修改用户表最后修改时间。
其他解决方案:
CREATE OR REPLACE TRIGGER AFTER_UPD__TBLUSER_TRG AFTER UPDATE OF UNAME ON TBL_USER FOR EACH ROW BEGIN :NEW.LAST_MODIFIED := SYSDATE; END; /
相关文章推荐
- Oracle触发器修改自身字段解决方案
- HDS 8082 端口禁止用户修改自身用户的某些字段
- mysql 在修改添加字段(alter table 表名 add column 或者 modify column)且带unique时提示duplicate entry for key的原因以及解决方案
- sakai修改sakai.properties的字段为中文运行后出现乱码的问题分析与解决方案!
- Oracle触发器给表自身的字段重新赋值出现ORA-04091异常
- Oracle触发器给表自身的字段重新赋值出现ORA-04091异常
- oracle触发器 当表修改指定字段时,把那条记录插入到记录修改表中
- sqlserver2008无法修改表字段类型的解决方案之一
- Oracle TYPE 不允许修改字段长度 解决方案
- Mysql、SqlServer和Oracle 添加修改删除字段
- Sql语句 update set 修改多项字段的格式
- oracle数据库根据不同条件给同一字段修改相应的值
- sql修改字段长度
- 修改mysql数据库,表,字段 的字符集。
- minigui在海思解决方案(hi3515芯片)上的移植过程(有加个人修改)
- 表修改字段存储过程
- 在SQL SERVER中批量修改字段名的办法!又是在CSDN查到的,哈哈
- mysql修改字段长度(sql命令)
- 批量修改数据库字段类型(ORACLE)
- oracle修改字段类型,从number(2)改为number(2,1)