同事離職,又乙個乙個爛攤子要收拾。這裡修修,那裡補補都沒有精力來寫點東西。
過程很痛苦,今天這篇算是痛定思痛吧!
在技術可行的情況下,優雅的設計永遠很重要,否則就不斷痛苦吧。(思考,成熟的思考一定在行動之前)
言歸正傳:觸發器、儲存過程可以理解一些預先編寫好的函式,儲存在資料庫伺服器上。觸發器關聯到具體表,對一張資料表進行插入、更新、刪除這三類操作前、操作後都可以做一些事情,比如:刪除某張表一條記錄後,可以同時刪除一張相關表中的對應記錄。而這些工作都會由資料庫自動完成。
乙個例子:
說明:上面例子實現功能,向表tbl_1中插入一條資料之後,判斷tbl_2中有沒有此記錄,如果沒有插入一條新的記錄到tbl_2,如果有對應name則更新一下tbl_2的record欄位。(觸發器語法解釋可以google其他資料)
儲存過程,一段編寫好的sql語句可以封裝成函式,直接呼叫:
乙個例子:
說明:上面例子實現乙個資料備份長檔案功能,pro_test()函式三個引數:e_table表名稱,e_filename 檔名稱,e_condition 條件
具體語法可以google。
MySQL儲存過程 觸發器 小例子
一 儲存過程 語法 create procedure in out inout 引數名 資料類形.begin end 引數 in 輸入引數 表示該引數的值必須在呼叫儲存過程的時候指定,在儲存過程中修改該引數的值不能被返回,為預設值。out 輸出引數 該值可在儲存過程內部被改變,並可返回。inout ...
mysql觸發器和儲存過程小測試
mysql觸發器和儲存過程小測試 1.為了測試觸發器和儲存過程,首先建立一張簡單的表 www.2cto.com create table airuser userid int 11 not null auto increment,username varchar 128 not null,prima...
MySQL 事件 觸發器 儲存過程
事件 檢視事件狀態 show variables like event scheduler 開啟事件 set global event scheduler on 觸發器語法 建立觸發器 delimiter 定義開始和結束的標誌 create trigger triggername after bef...