MySQL觸發器的使用

2022-03-08 23:35:17 字數 2231 閱讀 8798

1:觸發器是一種與表操作有關的資料庫物件,當觸發器所在表上出現指定事件時,將呼叫該物件,即表的操作事件觸發表上的觸發器的執行。

例如:有乙個學生表,乙個班級表,每當學生新增乙個,班級表的人數就增加乙個。

相對於的學生表和班級表的實體類

package

com.betteryanwo.entity;

/*** create by 六

* date:18-7-7

* 學生表,每新增乙個學生,班級表的人數就加一。 */

public

class

student

public

student(integer stuid, integer sclassid)

public

integer getstuid()

public

void

setstuid(integer stuid)

public

integer getsclassid()

public

void

setsclassid(integer sclassid)

@override

public

string tostring() ';}}

package

com.betteryanwo.entity;

/*** create by 六

* date:18-7-7

* 班級表,每新增乙個學生,班級人數就加1. */

public

class

class

public

class(integer classid, integer stucount)

public

integer getclassid()

public

void

setclassid(integer classid)

public

integer getstucount()

public

void

setstucount(integer stucount)

@override

public

string tostring() ';}}

學生表新增

在mysql中寫的觸發器

delimiter $

create trigger tri_stuinsert after insert 建立乙個叫tri_stuinsert的觸發器 在插入後,

on student

foreach row 在學生表上建立的觸發器。

begin

declare c

int;

set c = (select stucount from class where classid=new

.sclassid);

update

class set stucount = c + 1 where classid = new

.sclassid;

end$

delimiter ;

create trigger trigger_name

trigger_time

trigger_event on tbl_name

for each row

trigger_stmt

其中:trigger_name:標識觸發器名稱,使用者自行指定;

trigger_time:標識觸發時機,取值為 before 或 after;

trigger_event:標識觸發事件,取值為 insert、update 或 delete;

tbl_name:標識建立觸發器的表名,即在哪張表上建立觸發器;

trigger_stmt:觸發器程式體,可以是一句sql語句,或者用 begin 和 end 包含的多條語句。

由此可見,可以建立6種觸發器,即:before insert、before update、before delete、after insert、after update、after delete。

另外有乙個限制是不能同時在乙個表上建立2個相同型別的觸發器,因此在乙個表上最多建立6個觸發器。

積分觸發器 mysql 觸發器的使用

將多個資料庫中的某列資料同步時需要用到mysql觸發器,以下可做參考,已簡單測試ok.修改紅棗的積分時觸發 drop trigger if exists u hongzaocount delimiter create trigger u hongzaocount after update on ho...

mysql 觸發器 觸發器使用

1 了解什麼是觸發器?mysql 的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式,觸發器 是由事件觸發某個動作,這些事件包括,插入 更新 刪除等語句。如果定義了觸發程式,觸發器就會觸發執行相應的操作。觸發器 trigger 是個特殊的儲存過程,不同的是,執行儲存過程要使用call語句來呼叫,...

觸發器 mysql觸發器

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