• <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觸發(fā)器創(chuàng)建及其功能

        時(shí)間:2024-11-05 19:26:12 Oracle認(rèn)證 我要投稿
        • 相關(guān)推薦

        Oracle觸發(fā)器創(chuàng)建及其功能

          下面的文章主要介紹的是如何創(chuàng)建Oracle觸發(fā)器,同時(shí)介紹了Oracle觸發(fā)器的功能、語(yǔ)法,而且通過(guò)具體的例子可以讓大家更深入的掌握。

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

          2.創(chuàng)建Oracle序列 :CREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE

          3.創(chuàng)建Oracle觸發(fā)器 :

          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觸發(fā)器功能

          觸發(fā)器是特定事件出現(xiàn)的時(shí)候,自動(dòng)執(zhí)行的代碼塊。類(lèi)似于存儲(chǔ)過(guò)程,觸發(fā)器與存儲(chǔ)過(guò)程的區(qū)別在于:存儲(chǔ)過(guò)程是由用戶(hù)或應(yīng)用程序顯式調(diào)用的,而觸發(fā)器是不能被直接調(diào)用的。

          功能:

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

          2)自動(dòng)生成派生列,比如自增字段

          3)強(qiáng)制數(shù)據(jù)一致性

          4)提供審計(jì)和日志記錄

          5)防止無(wú)效的事務(wù)處理

          6)啟用復(fù)雜的業(yè)務(wù)邏輯

          5.觸發(fā)器觸發(fā)使用有兩種:after和before。

          Oracle觸發(fā)器的語(yǔ)法:

          CREATE [OR REPLACE] TIGGER觸發(fā)器名 觸發(fā)時(shí)間 觸發(fā)事件

          ON表名

          [FOR EACH ROW]

          BEGIN

          pl/sql語(yǔ)句

          END

          1)觸發(fā)器名:觸發(fā)器對(duì)象的名稱(chēng)。由于觸發(fā)器是數(shù)據(jù)庫(kù)自動(dòng)執(zhí)行的,因此該名稱(chēng)只是一個(gè)名稱(chēng),沒(méi)有實(shí)質(zhì)的用途。

          2)觸發(fā)時(shí)間:指明觸發(fā)器何時(shí)執(zhí)行,該值可取:

          before---表示在數(shù)據(jù)庫(kù)動(dòng)作之前觸發(fā)器執(zhí)行;

          after---表示在數(shù)據(jù)庫(kù)動(dòng)作之后出發(fā)器執(zhí)行。

          3)觸發(fā)事件:指明哪些數(shù)據(jù)庫(kù)動(dòng)作會(huì)觸發(fā)此觸發(fā)器:

          insert:數(shù)據(jù)庫(kù)插入會(huì)觸發(fā)此觸發(fā)器;

          舉例說(shuō)明:讓Oracle實(shí)現(xiàn)自增字段

          步驟:先建序列,然后建立一個(gè)Oracle觸發(fā)器實(shí)現(xiàn)!

          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 不要?jiǎng)?chuàng)建序列的表,多個(gè)表則以“,”隔開(kāi)**/

          CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2)

          AS

          STRSQL VARCHAR2(4000);

          TABLENAME VARCHAR2(50);

          PID VARC ......

        【Oracle觸發(fā)器創(chuàng)建及其功能】相關(guān)文章:

        Oracle認(rèn)證:ORACLE綁定變量BINDPEEKING08-25

        Oracle認(rèn)證:Oracle控制件文件修復(fù)07-27

        2016年Oracle DBA創(chuàng)建數(shù)據(jù)庫(kù)練習(xí)題及答案08-10

        Oracle認(rèn)證:Oracle避免全表掃描方式10-04

        Oracle認(rèn)證:Oracle內(nèi)存結(jié)構(gòu)研究-PGA篇09-22

        Oracle發(fā)展歷程09-12

        Oracle最新認(rèn)證07-13

        Oracle認(rèn)證作用07-31

        Oracle認(rèn)證簡(jiǎn)介07-22

        Oracle認(rèn)證考試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. 婷婷综合久久中文字幕 | 亚洲精品在看在线观看 | 色综合天天综合网国产 | 久久综合丝袜日本网首页 | 三级中文版AV片 | 中文字幕乱老妇女网站 |

            Oracle觸發(fā)器創(chuàng)建及其功能

              下面的文章主要介紹的是如何創(chuàng)建Oracle觸發(fā)器,同時(shí)介紹了Oracle觸發(fā)器的功能、語(yǔ)法,而且通過(guò)具體的例子可以讓大家更深入的掌握。

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

              2.創(chuàng)建Oracle序列 :CREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE

              3.創(chuàng)建Oracle觸發(fā)器 :

              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觸發(fā)器功能

              觸發(fā)器是特定事件出現(xiàn)的時(shí)候,自動(dòng)執(zhí)行的代碼塊。類(lèi)似于存儲(chǔ)過(guò)程,觸發(fā)器與存儲(chǔ)過(guò)程的區(qū)別在于:存儲(chǔ)過(guò)程是由用戶(hù)或應(yīng)用程序顯式調(diào)用的,而觸發(fā)器是不能被直接調(diào)用的。

              功能:

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

              2)自動(dòng)生成派生列,比如自增字段

              3)強(qiáng)制數(shù)據(jù)一致性

              4)提供審計(jì)和日志記錄

              5)防止無(wú)效的事務(wù)處理

              6)啟用復(fù)雜的業(yè)務(wù)邏輯

              5.觸發(fā)器觸發(fā)使用有兩種:after和before。

              Oracle觸發(fā)器的語(yǔ)法:

              CREATE [OR REPLACE] TIGGER觸發(fā)器名 觸發(fā)時(shí)間 觸發(fā)事件

              ON表名

              [FOR EACH ROW]

              BEGIN

              pl/sql語(yǔ)句

              END

              1)觸發(fā)器名:觸發(fā)器對(duì)象的名稱(chēng)。由于觸發(fā)器是數(shù)據(jù)庫(kù)自動(dòng)執(zhí)行的,因此該名稱(chēng)只是一個(gè)名稱(chēng),沒(méi)有實(shí)質(zhì)的用途。

              2)觸發(fā)時(shí)間:指明觸發(fā)器何時(shí)執(zhí)行,該值可取:

              before---表示在數(shù)據(jù)庫(kù)動(dòng)作之前觸發(fā)器執(zhí)行;

              after---表示在數(shù)據(jù)庫(kù)動(dòng)作之后出發(fā)器執(zhí)行。

              3)觸發(fā)事件:指明哪些數(shù)據(jù)庫(kù)動(dòng)作會(huì)觸發(fā)此觸發(fā)器:

              insert:數(shù)據(jù)庫(kù)插入會(huì)觸發(fā)此觸發(fā)器;

              舉例說(shuō)明:讓Oracle實(shí)現(xiàn)自增字段

              步驟:先建序列,然后建立一個(gè)Oracle觸發(fā)器實(shí)現(xiàn)!

              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 不要?jiǎng)?chuàng)建序列的表,多個(gè)表則以“,”隔開(kāi)**/

              CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2)

              AS

              STRSQL VARCHAR2(4000);

              TABLENAME VARCHAR2(50);

              PID VARC ......

            【Oracle觸發(fā)器創(chuàng)建及其功能】相關(guān)文章:

            Oracle認(rèn)證:ORACLE綁定變量BINDPEEKING08-25

            Oracle認(rèn)證:Oracle控制件文件修復(fù)07-27

            2016年Oracle DBA創(chuàng)建數(shù)據(jù)庫(kù)練習(xí)題及答案08-10

            Oracle認(rèn)證:Oracle避免全表掃描方式10-04

            Oracle認(rèn)證:Oracle內(nèi)存結(jié)構(gòu)研究-PGA篇09-22

            Oracle發(fā)展歷程09-12

            Oracle最新認(rèn)證07-13

            Oracle認(rèn)證作用07-31

            Oracle認(rèn)證簡(jiǎn)介07-22

            Oracle認(rèn)證考試07-31