系统级触发器

原创 2006年06月05日 17:32:00

有时候,我们需要记录登陆用户登陆系统的信息,或在系统启动或用户登陆后对数据库进行一些设置, 可以使用系统触发器来实现,

创建一测试表,

SQL> create table user_logon (user_name varchar2(30),logon_date date);
 
Table created.
 
SQL> create or replace trigger logon_user_info
 2 after logon on schema
 3 begin
 4      insert into user_logon values(user,sysdate);
 5 end;
 6 /
 
Trigger created.
 
SQL> select * from user_logon;
 
no rows selected
 
SQL> select * from user_logon;
 
USER_NAME                      LOGON_DATE
------------------------------ ---------------------------------------------------------
SYSTEM                         2006-05-25 10:06:22
 
 
当前Oracle不允许在SYS用户下创建系统触发器。
 
 
数据库级触发器
SQL> connect system/system
Connected.
SQL> create table user_logon
 2 (a varchar2(30), b date);
 
Table created.
 
SQL>
SQL> create or replace trigger logon_user_info
 2 after logon on database
 3 begin
 4      insert into user_logon values(user,sysdate);
 5 end;
 6 /
 
Trigger created.
 
SQL>
SQL> connect dinya/dinya;
Connected.
SQL> connect system/system
Connected.
SQL> select * from user_logon;
 
A                              B
------------------------------ -----------------------------------
DINYA                          25-MAY-06
SYSTEM                         25-MAY-06
 
SQL>
 
以上只是记录用户和用户的登陆时间, 需要的话可以记录其他的信息,

Oracle系统触发器

系统触发器是在进行数据库系统事件时进行触发,主要包括DDL语句,其语法格式如下: create or replace trigger [schema.]trigger_nam...
  • bwf_erg
  • bwf_erg
  • 2016年10月25日 16:52
  • 246

行级触发器和语句级触发器

1、   行级触发器对DML语句影响的每个行执行一次。(:NEW 和:OLD使用方法和意义,new 只出现在insert和update时,old只出现在update和delete时。在insert...
  • zy18755122285
  • zy18755122285
  • 2016年04月30日 14:13
  • 2438

行级触发器与语句级触发器的区别

语句:update employees set employees.salary = 2000; 语句级触发器: --测试行级触发器,默认情况下是语句级的 CREATE OR REPLA...
  • rui1187349730
  • rui1187349730
  • 2015年08月02日 22:51
  • 5322

oracle11g系统级别触发器来跟踪监控drop误操作

前言: db中有一张表的数据老是紊乱,猜猜是经历过drop、create的数据同步操作,但是现在谁也不知道在哪里操作的,所以准备做一个触发器去记录下是哪个应用服务器那个db账号操作的...
  • mchdba
  • mchdba
  • 2015年11月04日 20:56
  • 3048

oracle数据库语句级触发器和行级触发器的使用

行级触发器对DML语句影响的每个行执行一次,触发器表(如:您的定义触发器的emp表)变化一个记录(I、D、U)就执行一次。 语句级触发器对每个DML语句执行一次,完成一次“事务”触发一次。 如果...
  • xiaoyiaoyou
  • xiaoyiaoyou
  • 2016年11月10日 20:20
  • 2227

oracle的行级触发器使用

行级触发器:当触发器被触发时,要使用被插入、更新或删除的记录中的列值,有时要使用操作前、后列的值.:NEW 修饰符访问操作完成后列的值:OLD 修饰符访问操作完成前列的值例1: 建立一个触发器, 当职...
  • qq_27918787
  • qq_27918787
  • 2016年08月24日 12:05
  • 1736

Oracle触发器介绍 语句级触发器

语句级触发器我们先看一个AFTER-INSERT-STATEMENT触发器:CREATE OR REPLACE TRIGGER temp_aisAFTER INSERT ON TEMPBEGIN   ...
  • stevene
  • stevene
  • 2006年02月13日 17:30
  • 6396

SQL SERVER 行级触发器(准)

SQL SERVER  准行级触发器ⅰDeleted表和Inserted表   SQL SERVER只有表级和服务器级(相当)的触发器,在很多需要使用行级触发器的场合,很多同事都开始怀念使用Oracl...
  • wxhy_wwei
  • wxhy_wwei
  • 2008年01月31日 16:12
  • 3460

Oracle表级触发器语句

孟子辰 2016-12-04 06:22 示例一、只有在每个月的10日才允许办理,新员工入职与离职,其他时间不允许增加和删除员工数据 --建立表 CREATE TABLE myemp A...
  • u011277123
  • u011277123
  • 2016年12月13日 09:08
  • 654

PL/SQL_触发器5(建立系统事件触发器)

系统事件触发器是指基于Oracle系统事件(例如LOGON和STARTUP)所建立的触发器。通过使用系统事件触发器,提供了跟踪系统或数据库变化的机制。 1、常用事件属性函数 1)ora_client_...
  • com185272358
  • com185272358
  • 2014年03月25日 21:17
  • 990
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:系统级触发器
举报原因:
原因补充:

(最多只允许输入30个字)