• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 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 ......

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【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

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 精品国产在天天在线观看 | 亚洲成aⅴ人在线电影 | 亚洲欭美日韩颜射在线二 | 日鲁夜鲁亚洲鲁鲁在线 | 亚洲欧美另类久久久精品能播放的 | 起碰97视频在线观看国产 |

            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 ......