码迷,mamicode.com
首页 > 数据库 > 详细

Oracle触发器修改自身字段解决方案

时间:2015-03-31 10:43:30      阅读:433      评论:0      收藏:0      [点我收藏+]

标签:

--创建表结构
/*
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;
/

Oracle触发器修改自身字段解决方案

标签:

原文地址:http://www.cnblogs.com/nuaaydh/p/4380030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!