牛腩新闻发布--触发器语句
目的
這篇博客是對上一篇博客進行優化,上一篇博客講述了如何不用<新建觸發器>建立新的觸發器。這一篇博客中介紹一些觸發器的語句,希望大家能提出一些關于觸發器的問題,讓大伙一起討論討論。
“你有一個蘋果,我有一個蘋果,我們彼此交換,每人還是一個蘋果;你有一種思想,我有一種思想,我們彼此交換,每人可擁有兩種思想.”
內容
插入語句INSERT
create trigger [插入觸發器名稱]on [表1名稱]for insert asselect * from [表2名稱]update [表5名稱] set [列4名稱]='' where [列5名稱]='' begindelete [表3名稱] where [列1名稱] in (select [列2名稱] from [表4名稱] where [列3名稱]='') end go刪除語句DELETE
create trigger [刪除觸發器名稱]on [表1名稱]for delete asselect * from [表2名稱]update [表5名稱] set [列4名稱]='' where [列5名稱]='' begindelete [表3名稱] where [列1名稱] in (select [列2名稱] from [表4名稱] where [列3名稱]='') end go修改語句UPDATE
create trigger [修改觸發器名稱]on [表1名稱]for update asupdate [表5名稱] set [列4名稱]='' where [列5名稱]='' begindelete [表3名稱] where [列1名稱] in (select [列2名稱] from [表4名稱] where [列3名稱]='') end go總結
大家可以發現,有很多單詞在SQL中經常用到,如下:
CREATE 語句,如:CREATE DATABASE、CREATE TABLE、CREATE INDEX 等。
ALTER 語句,如:ALTER DATABASE、ALTER TABLE、ALTER INDEX 等。
DROP 語句,如:DROP DATABASE、DROP TABLE、DROP INDEX 等。
DISK 語句,如:DISK INIT、DISK RESIZE。
LOAD 語句,如:LOAD DATABASE、LOAD LOG。
RESTORE 語句,如:RESTORE DATABASE、RESTORE LOG。
優點
觸發器可通過數據庫中的相關表實現級聯更改,不過,通過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制用比CHECK約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發器可以引用其它表中的列。例如,觸發器可以使用另一個表中的 SELECT 比較插入或更新的數據,以及執行其它操作,如修改數據或顯示用戶定義錯誤信息。觸發器也可以評估數據修改前后的表狀態,并根據其差異采取對策。一個表中的多個同類觸發器(INSERT、UPDATE 或 DELETE)允許采取多個不同的對策以響應同一個修改語句。
缺點
觸發器功能強大,輕松可靠地實現許多復雜的功能,為什么又要慎用呢。觸發器本身沒有過錯,但由于我們的濫用會造成數據庫及應用程序的維護困難。在數據庫操作中,我們可以通過關系、觸發器、存儲過程、應用程序等來實現數據操作…… 同時規則、約束、缺省值也是保證數據完整性的重要保障。如果我們對觸發器過分的依賴,勢必影響數據庫的結構,同時增加了維護的復雜程度。
總結
以上是生活随笔為你收集整理的牛腩新闻发布--触发器语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 普通话测试软件测试成绩很差,普通话测试成
- 下一篇: 人工神经网络连接方式,全连接神经网络作用