Heim > Datenbank > MySQL-Tutorial > Hauptteil

Oracle中的触发器创建实例

WBOY
Freigeben: 2016-06-07 16:58:35
Original
1081 Leute haben es durchsucht

数据库触发器是与数据库中某个数据表、视图或事件相关联的存储子程序。举一个例子,我们可以让Oracle数据库在INSERT、UPDATE或DE

数据库触发器是与数据库中某个数据表、视图或事件相关联的存储子程序。举一个例子,,我们可以让Oracle数据库在INSERT、UPDATE或DELETE表达式影响一个表之前或之后来自动激活一个触发器。触发器的用途之一就是审核数据修改。例如,下面的表级(table-level)触发器会在emp表的salaries字段更新后被激活。
CREATE TRIGGER audit_sal
  AFTER UPDATE OF sal
  ON emp
  FOR EACH ROW
BEGIN
  INSERT INTO emp_audit
       VALUES ...
END;
************实例!!!!!******************

1。先创建emp_audit表:

create table emp_audit(information varchar2(50), update_today date);

2。如果没有emp表,请创建emp表:

create table emp(
EMPNO    NUMBER(4) primary key,                             
ENAME    VARCHAR2(10)                    
JOB      VARCHAR2(9)                        
MGR      NUMBER(4)                       
HIREDATE DATE                      
SAL      NUMBER(7,2)                    
COMM     NUMBER(7,2)                    
DEPTNO   NUMBER(2));

并插入数据:

insert into emp values(7368, 'SMITH1', 'CLERK', 7902, sysdate, 13.00,null,20);

3。创建触发器:

CREATE TRIGGER audit_sal
  AFTER UPDATE OF sal
  ON emp
  FOR EACH ROW
BEGIN
  INSERT INTO emp_audit
       VALUES('successful',sysdate);
END;
******************************

1。执行更新emp操作:update emp set sal=1300 where empno=7368;

2。查看emp更新后的数据:select * from emp;

3。 查看emp_audit的数据:select * from emp_audit;

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!