日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle觸發(fā)器創(chuàng)建及其功能介紹

通過學(xué)習(xí),我們大家對創(chuàng)建c創(chuàng)建Oracle序列都比較熟悉了,今天我們主要介紹的是如何創(chuàng)建Oracle觸發(fā)器,同時介紹了Oracle觸發(fā)器的功能、語法,而且通過具體的例子可以讓大家更深入的掌握。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

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)的時候,自動執(zhí)行的代碼塊。類似于存儲過程,觸發(fā)器與存儲過程的區(qū)別在于:存儲過程是由用戶或應(yīng)用程序顯式調(diào)用的,而觸發(fā)器是不能被直接調(diào)用的。
功能:
1)允許/限制對表的修改
2)自動生成派生列,比如自增字段
3)強(qiáng)制數(shù)據(jù)一致性
4)提供審計和日志記錄
5)防止無效的事務(wù)處理
6)啟用復(fù)雜的業(yè)務(wù)邏輯

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

Oracle觸發(fā)器的語法:
CREATE [OR REPLACE] TIGGER觸發(fā)器名 觸發(fā)時間 觸發(fā)事件
ON表名
[FOR EACH ROW]
BEGIN
pl/sql語句
END

1)觸發(fā)器名:觸發(fā)器對象的名稱。由于觸發(fā)器是數(shù)據(jù)庫自動執(zhí)行的,因此該名稱只是一個名稱,沒有實質(zhì)的用途。

2)觸發(fā)時間:指明觸發(fā)器何時執(zhí)行,該值可取:
before---表示在數(shù)據(jù)庫動作之前觸發(fā)器執(zhí)行;
after---表示在數(shù)據(jù)庫動作之后出發(fā)器執(zhí)行。

3)觸發(fā)事件:指明哪些數(shù)據(jù)庫動作會觸發(fā)此觸發(fā)器:                        
insert:數(shù)據(jù)庫插入會觸發(fā)此觸發(fā)器;

舉例說明:讓Oracle實現(xiàn)自增字段
步驟:先建序列,然后建立一個Oracle觸發(fā)器實現(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 不要創(chuàng)建序列的表,多個表則以“,”隔開**/
CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2)
AS
STRSQL VARCHAR2(4000);
TABLENAME VARCHAR2(50);
PID VARC ...... 

【編輯推薦】

  1. Oracle觸發(fā)器的使用情況追中
  2. 你是否了解Oracle觸發(fā)器
  3. Oracle觸發(fā)器詳細(xì)介紹
  4. Oracle創(chuàng)建管理員步驟概述
  5. Oracle創(chuàng)建Split 與Map 函數(shù)的代碼示例

網(wǎng)站欄目:Oracle觸發(fā)器創(chuàng)建及其功能介紹
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/djchegh.html