日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

oracle数据库有触发器,Oracle数据库触发器(Triggers)

發布時間:2023/12/3 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据库有触发器,Oracle数据库触发器(Triggers) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

觸發器是一種自動執行響應數據庫變化的程序。可以設置為在觸發器事件之前或之后觸發或執行。能夠觸發觸發器事件的事件包括下面幾種:

DML事件

DDL事件

數據庫事件

DML事件觸發器可以是語句或行級觸發器。DML語句觸發器在觸發語句之前或之后觸發DML行級觸發器在語句影響的行變化之前或之后觸發。用戶可以給單一事件和類型定義多個觸發器,但沒有任何方法可以增強多觸發器觸發的命令。下表列出了用戶可以利用的觸發器事件:

事件 觸發器描述

INSERT? 當向表或視圖插入一行時觸發觸發器

UPDATE? 更新表或視圖中的某一行時觸發觸發器

DELETE 從表或視圖中刪除某一行時觸發觸發器

CREATE 當使用CREATE語句為數據庫或項目增加一個對象時觸發觸發器

ALTER 當使用ALTER語句為更改一個數據庫或項目的對象時觸發觸發器

DROP 當使用DROP語句刪除一個數據庫或項目的對象時觸發觸發器

START 打開數據庫時觸發觸發器,在事件后觸發

SHUTDOWN? 關閉數據庫時觸發,事件前觸發

LOGON 當一個會話建立時觸發,事件前觸發

LOGOFF 當關閉會話時觸發,事件前觸發

SERVER 服務器錯誤發生時觸發觸發器,事件后觸發

創建觸發器的語法如下:

CREATE [OR REPLACE] TRIGGER trigger_name

{before|after|instead of} event

ON {table_or_view_name|DATABASE}

[FOR EACH ROW[WHEN condition]]

trigger_body

只有DML觸發器(INSERT、UPDATE、DELETE)語句可以使用INSTEAD OF觸發器并且只有表的DML觸發器可以是BEFORE或AFTER觸發器。

象約束一樣觸發器可以被設置為禁用或啟用來關閉或打開他們的執行體(EXECUTE),將觸發器設置為禁用或啟用使用ALTER TRIGGER語句:

ALTER TRIGGER trigger_name ENABLE;

ALTER TRIGGER trigger_name DISABLE;

要禁用或啟用表的所有觸發器,使用ALTER TABLE語句

ALTER TRIGGER table_name DISABLE ALL TRIGGER;

ALTER TRIGGER table_name ENABLE ALL TRIGGER;

刪除觸發器使用DROP TRIGGER

DROP TRIGGER trigger_name;

總結

以上是生活随笔為你收集整理的oracle数据库有触发器,Oracle数据库触发器(Triggers)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。