如何使用MySQL的Stored Procedure與Trigger
|
MySQL在5.0版後增強了資料庫stored procedure(5.0)與trigger(5.0.2)的功能, 根據MySQL自己的定義: A stored procedure is a procedure (like a subprogram in a regular computing language) that is stored (in the database). Correctly speaking, MySQL supports "routines" and there are two kinds of routines: stored procedures or functions. 也就是MySQL支援routines: stored procedure與functions, 而針對table的INSERT/UPDATE/DELETE動作,更加入了trigger 這幾個更新功能讓MySQL更具備大型資料庫的架勢, 以下就來談談如何測試這幾個功能: (1)Stored Procedure 使用MySQL的stored procedure有幾個方式: dos command/phpmyadmin/EMS的MySQL Manager 首先以DOS command進入MySQL ![]() 接著可以打入 show procedure status; 來看看有無既存的stored procedures ![]() 現在我們進入使用test這個database (MySQL預設已經有的資料庫) use test; show tables; desc tbl; 看到了tbl這個表格的結構 ... ![]() 現在我們建一個stored procedure 先使用宣告 delimiter 來告訴MySQL結束字元是 // 然後打入以下 Create procedure mytest1() update tbl set f3=concat(f1,f2); ![]() 這樣去呼叫mytest1後, 就把f1,f2兩個字串串起來存到f3了 ! 再來建立一個傳變數的stored procedure ![]() (2)Trigger 首先看看表格結構: tbl與tbl2 ![]() 再來建立trigger, 並看看效果 當有資料插入tbl時, 把f1欄位也插入到tbl2的f1欄位 ![]() 看看我們剛建入的trigger ![]() 因此只要對於SQL有認識, 使用stored procedure與trigger應該不成問題... 但是頭痛的是...MySQL與MS SQL的語法又略有差異, 因此下次也來談談MS SQL, 以及為何要使用stored procedure及trigger ... 待續了 |



















其他書籤 :