中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle觸發器學習記錄

發布時間:2020-02-14 11:09:43 來源:網絡 閱讀:683 作者:YTP552200YTP 欄目:關系型數據庫

1、這是oracle的規定,不能對執行觸發器的表進行操作。
可以對new.xxx進行操作啊,對于oracle行級觸發器(for each row),不能對本表做任何操作,包括讀取
原則:
在before insert觸發器中,可以實現對本表的訪問;
在after insert觸發器中,不能實現對本表的訪問;
在before/after update/delete觸發器中,都不能實現對本表的訪問

其實原因很簡單,就是為了防止臟讀
2、寫oracle行級觸發器時,不能操作本表,報表 *** 發生了變化,觸發器/函數不能讀"的錯誤的解決辦法
原因已經很明顯了就是行級的觸發器代碼中不能操作該表,包括select,是挺郁悶的
當然解決方法就是要根據原因了,正因為限定了行級觸發器的操作,只能選擇表級的觸發器了,但是在表級的觸發器又不能獲得:new和:old的值,那就只能采取兩種觸發器并用的方法了,并且還要包或者臨時表加以輔助.
首先在行級觸發器中將所需的,:new或者:old的值,寫到包或者臨時表中
然后在表級觸發器中處理包或者臨時表中已經寫入的數據,操作成功后可以按照需求再刪除臨時表的數據.
3、 ORACLE 觸發器
ORACLE產生數據庫觸發器的語法為:
create [or replace] trigger 觸發器名 觸發時間 觸發事件
on 表名
[for each row]
pl/sql 語句
其中:
觸發器名:觸發器對象的名稱。由于觸發器是數據庫自動執行
的,因此該名稱只是一個名稱,沒有實質的用途。
觸發時間:指明觸發器何時執行,該值可取:
before---表示在數據庫動作之前觸發器執行;
after---表示在數據庫動作之后出發器執行。
觸發事件:指明哪些數據庫動作會觸發此觸發器:
insert:數據庫插入會觸發此觸發器;
update:數據庫修改會觸發此觸發器;
delete:數據庫刪除會觸發此觸發器。
表 名:數據庫觸發器所在的表。
for each row:對表的每一行觸發器執行一次。如果沒有這一
選項,則只對整個表執行一次。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴东县| 宝应县| 油尖旺区| 赞皇县| 屏东县| 汉中市| 新龙县| 瑞金市| 合水县| 射阳县| 宁陕县| 镇赉县| 安宁市| 石林| 三门峡市| 千阳县| 鄂托克前旗| 麻栗坡县| 沿河| 吴堡县| 申扎县| 玉溪市| 榆林市| 文昌市| 石泉县| 宜城市| 黎川县| 和顺县| 乌鲁木齐市| 喀什市| 阿坝县| 平远县| 临城县| 陕西省| 东海县| 古浪县| 溧水县| 岐山县| 洮南市| 会理县| 桦甸市|