MySql命令列建立和刪除觸發器

2021-07-06 07:01:29 字數 1868 閱讀 7956

舉例如下:

現有表tab1和tab2

要求觸發器具有下面功能

當對tab1插入一條記錄時則tab2也插入相同的記錄

1

2

3

4

5

6

7

8

mysql>delimiter //

mysql>createtriggert_afterinsert_on_tab1

->afterinsertontab1

->foreach row

->begin

->insertintotab2(tab2_id)values(new.tab1_id);

->end;

->//

在執行如下語句,恢復設定
1

mysql> delimiter ;

其中delimiter作用: 告訴mysql直譯器,該段命令是否已經結束了,mysql是否可以執行了。

預設情況下,delimiter是分號;。在命令列客戶端中,如果有一行命令以分號結束,

那麼回車後,mysql將會執行該命令。但有時候,不希望mysql這麼做。

在為可能輸入較多的語句,且語句中包含有分號。使用delimiter //,

這樣只有當//出現之後,mysql直譯器才會執行這段語句。

也可以使用批處理建立觸發器 1

2

3

4

5

6

createtriggert_afterinsert_on_tab1

afterinsertontab1

foreach row

begin

insertintotab2(tab2_id)values(new.tab1_id);

end;

將上面內容儲存為sql檔案

執行它,注意前面也要用delimiter來改變語句結束標誌。

刪除觸發器: 1

droptriggert_afterinsert_on_tab1;

為什麼建立觸發器時使用 for each row 這是因為加上這句則觸發事件就是行級的,那麼對每一行有這個動作都要觸發一次事件

MySql命令列建立和刪除觸發器

舉例如下 現有表tab1和tab2 要求觸發器具有下面功能 當對tab1插入一條記錄時則tab2也插入相同的記錄 1 2 3 4 5 6 7 8 mysql delimiter mysql createtriggert afterinsert on tab1 afterinsertontab1 fo...

svn 命令列建立和刪除 分支和tags

建立分支 獲得分支 合併主幹上的最新 到分支上 如果需要預覽該重新整理操作,可以使用svn mergeinfo命令,如 或使用svn merge dry run選項以獲取更為詳盡的資訊。分支合併到主幹 一旦分支上的開發結束,分支上的 需要合併到主幹。svn中執行該操作需要在trunk的工作目錄下進行...

svn 命令列建立和刪除 分支和tags

建立分支 獲得分支 合併主幹上的最新 到分支上 如果需要預覽該重新整理操作,可以使用svn mergeinfo命令,如 或使用svn merge dry run選項以獲取更為詳盡的資訊。分支合併到主幹 一旦分支上的開發結束,分支上的 需要合併到主幹。svn中執行該操作需要在trunk的工作目錄下進行...