亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

Oracle認(rèn)證

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

時(shí)間:2024-08-11 21:10:52 Oracle認(rèn)證 我要投稿
  • 相關(guān)推薦

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

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

  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í)行的代碼塊。類似于存儲(chǔ)過程,觸發(fā)器與存儲(chǔ)過程的區(qū)別在于:存儲(chǔ)過程是由用戶或應(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ì)象的名稱。由于觸發(fā)器是數(shù)據(jù)庫(kù)自動(dòng)執(zhí)行的,因此該名稱只是一個(gè)名稱,沒有實(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ā)器;

  舉例說明:讓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è)表則以“,”隔開**/

  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發(fā)展歷程08-25

Oracle認(rèn)證體系介紹01-30

oracle認(rèn)證考試詳情06-09

Oracle DBA職業(yè)要求08-31

Oracle認(rèn)證考試介紹05-03

Oracle認(rèn)證種類介紹07-21

最強(qiáng)的oracle面試題積累06-26

關(guān)于Oracle認(rèn)證考試時(shí)間09-27

Oracle復(fù)習(xí)知識(shí)點(diǎn)匯總07-04

Oracle數(shù)據(jù)庫(kù)SQLPLUS介紹07-16