Oracle觸發器創建及其功能

時間:2024-11-05 19:26:12 Oracle認證 我要投稿
  • 相關推薦

Oracle觸發器創建及其功能

  下面的文章主要介紹的是如何創建Oracle觸發器,同時介紹了Oracle觸發器的功能、語法,而且通過具體的例子可以讓大家更深入的掌握。

  1.創建表t1 :create table t1 (id number,name nvarchar(8));

  2.創建Oracle序列 :CREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE

  3.創建Oracle觸發器 :

  CREATE TRIGGER tig_insert_t1

  BEFORE INSERT ON "YINZQ"."T1"

  begin

  if (:new.id is null) then

  select t1_id.nextval into :new.id from dual; //其中的:new.id 指的是t1表中新行的列

  end if;

  end;

  4.Oracle觸發器功能

  觸發器是特定事件出現的時候,自動執行的代碼塊。類似于存儲過程,觸發器與存儲過程的區別在于:存儲過程是由用戶或應用程序顯式調用的,而觸發器是不能被直接調用的。

  功能:

  1)允許/限制對表的修改

  2)自動生成派生列,比如自增字段

  3)強制數據一致性

  4)提供審計和日志記錄

  5)防止無效的事務處理

  6)啟用復雜的業務邏輯

  5.觸發器觸發使用有兩種:after和before。

  Oracle觸發器的語法:

  CREATE [OR REPLACE] TIGGER觸發器名 觸發時間 觸發事件

  ON表名

  [FOR EACH ROW]

  BEGIN

  pl/sql語句

  END

  1)觸發器名:觸發器對象的名稱。由于觸發器是數據庫自動執行的,因此該名稱只是一個名稱,沒有實質的用途。

  2)觸發時間:指明觸發器何時執行,該值可取:

  before---表示在數據庫動作之前觸發器執行;

  after---表示在數據庫動作之后出發器執行。

  3)觸發事件:指明哪些數據庫動作會觸發此觸發器:

  insert:數據庫插入會觸發此觸發器;

  舉例說明:讓Oracle實現自增字段

  步驟:先建序列,然后建立一個Oracle觸發器實現!

  cata0是表名,cata0_id是需要自增的字段!

  CREATE SEQUENCE SEQ_cata0

  INCREMENT BY 1

  START WITH 1

  MAXVALUE 9999999

  CREATE TRIGGER TRG_cata0 BEFORE

  INSERT ON cata0

  FOR EACH ROW begin

  INTO :NEW.cata0_ID

  from DUAL;

  End TRG_cata0;

  /****@PARAM STNAME 不要創建序列的表,多個表則以“,”隔開**/

  CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2)

  AS

  STRSQL VARCHAR2(4000);

  TABLENAME VARCHAR2(50);

  PID VARC ......

【Oracle觸發器創建及其功能】相關文章:

Oracle認證:ORACLE綁定變量BINDPEEKING08-25

Oracle認證:Oracle控制件文件修復07-27

2016年Oracle DBA創建數據庫練習題及答案08-10

Oracle認證:Oracle避免全表掃描方式10-04

Oracle認證:Oracle內存結構研究-PGA篇09-22

Oracle發展歷程09-12

Oracle最新認證07-13

Oracle認證作用07-31

Oracle認證簡介07-22

Oracle認證考試07-31

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
欧美在线观看免费人成 | 在线观看国产高清a | 熟女制服丝袜另类中文字幕 | 亚洲高清电影免费一区二区 | 日韩动漫精品一区 | 伊人久久大线影院首页 |