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

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲男人的天堂色偷偷 | 一区二区免费精品在线观看国产 | 亚洲精品青青操久久 | 日韩在线一区精品视频漫画 | 亚洲精品无播放器在线播放网站 | 在线观看免费人成视频网 |