MySQL 5.0觸發(fā)器參考教程第2/4頁(yè)
更新時(shí)間:2008年09月10日 09:20:36 作者:
需要學(xué)習(xí)mysql觸發(fā)器的朋友需要了解的東西,整理的比較多,建議大家慢慢多練習(xí)
Syntax 語(yǔ)法
1. Syntax: Name 語(yǔ)法:命名規(guī)則
CREATE TRIGGER <觸發(fā)器名稱> <--
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名稱>
FOR EACH ROW
<觸發(fā)器SQL語(yǔ)句>
觸發(fā)器必須有名字,最多64個(gè)字符,可能后面會(huì)附有分隔符.它和MySQL中其他對(duì)象的命名方式基本相象.
這里我有個(gè)習(xí)慣:就是用表的名字+'_'+觸發(fā)器類型的縮寫(xiě).因此如果是表t26,觸發(fā)器是在事件UPDATE(參考下面的點(diǎn)(2)和(3))之前(BEFORE)的,那么它的名字就是t26_bu。
2. Syntax: Time 語(yǔ)法:觸發(fā)時(shí)間
CREATE TRIGGER <觸發(fā)器名稱>
{ BEFORE | AFTER } <--
{ INSERT | UPDATE | DELETE }
ON <表名稱>
FOR EACH ROW
<觸發(fā)的SQL語(yǔ)句>
觸發(fā)器有執(zhí)行的時(shí)間設(shè)置:可以設(shè)置為事件發(fā)生前或后。
3. Syntax: Event語(yǔ)法:事件
CREATE TRIGGER <觸發(fā)器名稱>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE } <--
ON <表名稱>
FOR EACH ROW
<觸發(fā)的SQL語(yǔ)句>
同樣也能設(shè)定觸發(fā)的事件:它們可以在執(zhí)行insert、update或delete的過(guò)程中觸發(fā)。
4. Syntax: Table 語(yǔ)法:表
CREATE TRIGGER <觸發(fā)器名稱>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名稱> <--
FOR EACH ROW
<觸發(fā)的SQL語(yǔ)句>
觸發(fā)器是屬于某一個(gè)表的:當(dāng)在這個(gè)表上執(zhí)行插入、更新或刪除操作的時(shí)候就導(dǎo)致觸發(fā)器的激活.
我們不能給同一張表的同一個(gè)事件安排兩個(gè)觸發(fā)器。
5. Syntax: Granularity 語(yǔ)法:( :( 步長(zhǎng))觸發(fā)間隔
CREATE TRIGGER <觸發(fā)器名稱>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名稱>
FOR EACH ROW <--
<觸發(fā)的SQL語(yǔ)句>
觸發(fā)器的執(zhí)行間隔:FOR EACH ROW子句通知觸發(fā)器每隔一行執(zhí)行一次動(dòng)作,而不是對(duì)整個(gè)表執(zhí)行一次。
6. Syntax: Statement 語(yǔ)法:語(yǔ)句
CREATE TRIGGER <觸發(fā)器名稱>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名稱>
FOR EACH ROW
<觸發(fā)的SQL語(yǔ)句> <--
觸發(fā)器包含所要觸發(fā)的SQL語(yǔ)句:這里的語(yǔ)句可以是任何合法的語(yǔ)句,包括復(fù)合語(yǔ)句,但是這里的語(yǔ)句受的限制和函數(shù)的一樣。
Privileges權(quán)限
你必須擁有相當(dāng)大的權(quán)限才能創(chuàng)建觸發(fā)器(CREATE TRIGGER)。如果你已經(jīng)是Root用戶,那么就足夠了。這跟SQL的標(biāo)準(zhǔn)有所不同,我也希望能盡快改成標(biāo)準(zhǔn)的。
因此在下一個(gè)版本的MySQL中,你完全有可能看到有一種叫做CREATE TRIGGER的新權(quán)限。然后通過(guò)這樣的方法賦予:
GRANT CREATE TRIGGER ON <表名稱> TO <用戶或用戶列表>;
也可以通過(guò)這樣收回權(quán)限:
您可能感興趣的文章:
相關(guān)文章
優(yōu)化mysql數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)總結(jié)
本篇文章是對(duì)優(yōu)化mysql數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友參考下2013-06-06
MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全
Mysql作為一款開(kāi)元的免費(fèi)關(guān)系型數(shù)據(jù)庫(kù),用戶基礎(chǔ)非常龐大,本文列出了MYSQL常用日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)2018-03-03
解決Java程序使用MySQL時(shí)返回參數(shù)為亂碼的示例教程
這篇文章主要介紹了解決Java程序使用MySQL返回參數(shù)為亂碼的問(wèn)題的教程,通過(guò)示例來(lái)講解utf-8編碼在MySQL中的相關(guān)配置,示例需要的朋友可以參考下2015-12-12
MySQL 8.0.19支持輸入3次錯(cuò)誤密碼鎖定賬戶功能(例子)
這篇文章主要介紹了MySQL 8.0.19支持輸入3次錯(cuò)誤密碼鎖定賬戶功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)
這篇文章主要介紹了SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
淺談Mysql在什么情況下會(huì)使用內(nèi)部臨時(shí)表
內(nèi)部臨時(shí)表是一種特殊輕量級(jí)的臨時(shí)表,本文主要介紹了Mysql在什么情況下會(huì)使用內(nèi)部臨時(shí)表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
mysql啟動(dòng)提示:錯(cuò)誤2系統(tǒng)找不到指定文件的解決方案
這篇文章主要給大家介紹了mysql啟動(dòng)提示:錯(cuò)誤2系統(tǒng)找不到指定文件的解決方案,文中通過(guò)圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
華為云云數(shù)據(jù)庫(kù)MySQL的體驗(yàn)流程
本文主要介紹了MySQL數(shù)據(jù)庫(kù)相關(guān)知識(shí),華為云云數(shù)據(jù)庫(kù)的體驗(yàn)流程和云數(shù)據(jù)庫(kù)MySQL的性能測(cè)試,感興趣的小伙伴可以閱讀瀏覽2023-03-03

