程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql那些事兒之(十)觸發器一

Mysql那些事兒之(十)觸發器一

編輯:MySQL綜合教程


Mysql那些事兒之(十)觸發器一   相關鏈接: Mysql那些事兒之(一)mysql的安裝 http://www.BkJia.com/database/201210/162314.html; Mysql那些事兒之(二)有關數據庫的操作 http://www.BkJia.com/database/201210/162315.html; Mysql那些事兒之(三)有關數據表的操作 http://www.BkJia.com/database/201210/162316.html; Mysql那些事兒之(四)數據表數據查詢操作 http://www.BkJia.com/database/201210/162317.html; Mysql那些事兒之(五)操作時間 http://www.BkJia.com/database/201210/162318.html; Mysql那些事兒之(六)字符串模式匹配 http://www.BkJia.com/database/201210/163969.html; Mysql那些事兒之(七)深入select查詢 http://www.BkJia.com/database/201210/163970.html; Mysql那些事兒之(八)索引 http://www.BkJia.com/database/201210/163971.html; Mysql那些事兒之(九)常用的函數 http://www.BkJia.com/database/201210/164229.html   mysql從5.0.2版本開始支持觸發器的功能。 觸發器是什麼?觸發器就是與表有關的數據庫對象,在滿足定義的條件時觸發,並且執行觸發器中定義的語句。 我們來看一下觸發器的語法結構:   Sql代碼   create trigger trigger_name trigger_time trigger_event   on table_name   for each row   begin      trigger_stmt   end;     trigger_name是說明觸發器的名稱; trigger_time是說明觸發器的時間,after、before; trigger_event是說明觸發器的事件,比如delete、update、insert; trigger_stmt是說明觸發器要執行的事物語句,也就是你要干什麼的東西,寫在這裡。    www.2cto.com   舉例: 建立數據庫:   Sql代碼   create database db_test;   建立film表:   www.2cto.com   Sql代碼   create table film(   id smallint unsigned not null,   name varchar(40),   txt text,   primary key(id)   );     在這兒寫一個簡單的觸發器示例:   業務規則是 在向film表插入數據時,同時向日志表film_text中也插入一條數據.    www.2cto.com   當然還得建立film_text表:   Sql代碼   create table film_text(   id smallint unsigned not null auto_increment,   name varchar(40),   txt text,   primary key(id)   );     現在可以按照觸發器的語法結構來寫觸發器了。 觸發器代碼:   Sql代碼   create trigger trigger_film  --trigger_film為觸發器的名稱   after                                   --after為觸發器要發生的時間   insert                                 --insert為觸發器發生時的條件  插入操作   on film                                --建立觸發器的表名   for each row                      --說明觸發器為行級觸發器   begin      --觸發器要執行的邏輯     insert into film_text(id,name,txt) values(new.id,new.name,new.txt);   end;      www.2cto.com   運行完這個觸發器之後,當在另一個film表裡插入數據後,film_text裡也將增加一條數據。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved