易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE触发器

触发器
 
q      触发器是当特定事件出现时自动执行的存储过程
q      特定事件可以是执行更新的DML语句和DDL语句
q      触发器不能被显式调用
q      触发器的功能:
q      自动生成数据
q      自定义复杂的安全权限
q      提供审计和日志记录
q      启用复杂的业务逻辑
 
创建触发器的语法:
CREATE [OR REPLACE] TRIGGER trigger_name
AFTER | BEFORE | INSTEAD OF
[INSERT] [[OR] UPDATE [OF column_list]]
[[OR] DELETE]
ON table_or_view_name
[REFERENCING {OLD [AS] old / NEW [AS] new}]
[FOR EACH ROW]
[WHEN (condition)]
pl/sql_block;
 
触发器由三部分组成:
q      触发器语句(事件)
q      定义激活触发器的 DML 事件和 DDL 事件
q      触发器限制
q      执行触发器的条件,该条件必须为真才能激活触发器
q      触发器操作(主体)
q      包含一些 SQL 语句和代码,它们在发出了触发器语句且触发限制的值为真时运行
 
创建触发器
CREATE OR REPLACE TRIGGER first_emp_trg
AFTER INSERT
ON emp
FOR EACH ROW
BEGIN
  IF (:NEW.sal < 10000) THEN
    DBMS_OUTPUT.PUT_LINE('less 10000');
  ELSE
    DBMS_OUTPUT.PUT_LINE('ge 10000');
  END IF;
END;
 
 
SQL> insert into emp(empno,ename,sal) values(8102,'HuangPei',10000);
 
ge 10000
 
1 row inserted
 
SQL> insert into emp(empno,ename,sal) values(8103,'HuangPei',100);
 
less 10000
 
1 row inserted
 
查询触发器
SQL> select trigger_name,trigger_type,triggering_event,status from user_triggers;
 
TRIGGER_NAME   TRIGGER_TYPE      TRIGGERING_EVENT   STATUS          &n


相关文档:

Oracle提供的序号函数

Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
  行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
 
20
2
2
7499
ALLEN
SALESMAN
7698 ......

oracle 表空间操作详解

  1
  2
  3
作者:   来源:    更新日期:2006-01-04 
  5
  6
 
  7
建立表空间
  8
  9
CREATE TABLESPACE data01
 10
DATAFILE '/oracle/oradata/d ......

Oracle取前N位SQL

      也许对SQL Server来说,取前N位的数据是很简单的事情,一条TOP语句就搞定了.
      在Oracle中我们往往会感觉到头疼,平日里也常会用到,主要是使用partition by.
语法如下:
select emp_card_no,work_date,read_card_date,count(rownum) as cnt
from hra_read_car ......

ORACLE游标

ORACLE游标
游标:容器,存放当前SQL语句影响的记录
       所有DML语句都会用到游标
      
       逐行处理影响的行数
 
游标
       静态游标:游标与SQL语句在运行前关联
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号