mysql ,觸發器語法

2021-08-30 16:01:59 字數 1950 閱讀 1061

1. 語法:命名規則

create trigger 《觸發器名稱》 <--

on 《表名稱》

for each row

《觸發器sql語句》

觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.

這裡我有個習慣:就是用表的名字+'_'+觸發器型別的縮寫.因此如果是表t26,觸發器是在事件update(參考下面的點(2)和(3))之前 (before)的,那麼它的名字就是t26_bu。

2. 語法:觸發時間

create trigger 《觸發器名稱》

<--

on 《表名稱》

for each row

《觸發的sql語句》

觸發器有執行的時間設定:可以設定為事件發生前或後 before | after 。

3. 語法:事件

create trigger 《觸發器名稱》

<--

on 《表名稱》

for each row

《觸發的sql語句》

同樣也能設定觸發的事件:它們可以在執行insert、update或delete的過程中觸發。

4. 語法:表

create trigger 《觸發器名稱》

on 《表名稱》 <--

for each row

《觸發的sql語句》

觸發器是屬於某乙個表的:當在這個表上執行插入、

更新或刪除操作的時候就導致觸發器的啟用.

我們不能給同一張表的同乙個事件安排兩個觸發器。

5. 語法:( 步長)觸發間隔

create trigger 《觸發器名稱》

on 《表名稱》

for each row <--

《觸發的sql語句》

觸發器的執行間隔:for each row子句通知觸發器

每隔一行執行一次動作,而不是對整個表執行一次。

6. 語法:語句

create trigger 《觸發器名稱》

on 《表名稱》

for each row

《觸發的sql語句》 <--

觸發器包含所要觸發的sql語句:這裡的語句可以是任何合法的語句,

包括復合語句,但是這裡的語句受的限制和函式的一樣。

privileges許可權

你必須擁有相當大的許可權才能建立觸發器(create trigger)。

如果你已經是root使用者,那麼就足夠了。這跟sql的標準有所不同。

因此在下乙個版本的mysql中,

你完全有可能看到有一種叫做create trigger的新許可權。

然後通過這樣的方法賦予:

grant create trigger on 《表名稱》 to 《使用者或使用者列表》;

也可以通過這樣收回許可權:

revoke create trigger on 《表名稱》 from 《使用者或使用者列表》;

完整小例子:

drop database test_hibernate;

create database test_hibernate;

use test_hibernate;

create table news_table(

id int auto_increment primary key,

title varchar(255) not null,

content varchar(255),

full_content varchar(255)

);delimiter |

create trigger t_full_content_gen before insert on news_table

for each row begin

set new.full_content=concat(new.title,new.content);

end;

|delimiter ;

mysql簡單的觸發器語法 mysql觸發器 學習

1.說明 觸發器的定義就是說某個條件成立的時候,你觸發器裡面所定義的語句就會被自動的執行。因此觸發器不需要人為的去呼叫,也不能呼叫。然後,觸發器的觸發條件其實在你定義的時候就已經設定好的了。這裡面需要說明一下,觸發器可以分為語句級觸發器和行級觸發器。簡單的說就是語句級的觸發器可以在某些語句執行前或執...

觸發器語法

建立觸發器的語法如下所示 create trigger trigger name on table orview name with encryption execute as not for replication as sql statements external name assembly ...

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...