1. 創(chuàng)建MySQL觸發(fā)器
在MySQL中創(chuàng)建觸發(fā)器需要使用CREATE TRIGGER語(yǔ)句,語(yǔ)法如下:ameetame FOR EACH ROW trigger_body;ameetame是觸發(fā)器所在的表名,F(xiàn)OR EACH ROW表示觸發(fā)器對(duì)每一行數(shù)據(jù)都會(huì)執(zhí)行trigger_body,trigger_body是觸發(fā)器的執(zhí)行語(yǔ)句。
2. 調(diào)用C語(yǔ)言編寫(xiě)的程序
在trigger_body中可以調(diào)用C語(yǔ)言編寫(xiě)的程序,具體步驟如下:
(1)在C語(yǔ)言中編寫(xiě)需要執(zhí)行的程序;
(4)在trigger_body中調(diào)用用戶定義函數(shù)即可。
3. 示例代碼
以下是一個(gè)簡(jiǎn)單的示例代碼,它實(shí)現(xiàn)了在MySQL中插入一條數(shù)據(jù)時(shí),調(diào)用C語(yǔ)言編寫(xiě)的程序輸出一條信息:
(1)C語(yǔ)言程序:clude
yititidessage);ggitidull, char *error);
yititidessage) { 0;
ggitidull, char *error) {tf"); 0;
(3)創(chuàng)建用戶定義函數(shù):
CREATE FUNCTION hello_world RETURNS INTEGER SONAME 'libhello_world.so';
(4)創(chuàng)建觸發(fā)器:
CREATE TRIGGER trigger_hello_world AFTER INSERT ON test FOR EACH ROW SELECT hello_world();
4. 總結(jié)