標籤:
MySQL資料庫的預存程序
常規
create routine
alter
execute
security
definer
在建立預存程序的時候預設是選中相應的資料庫(use db_name)
所以在編寫預存程序時候就不能在預存程序之中編寫此語句
delimiter用戶端
使用delimiter用戶端設定結束符
delimiter //
主要是為了避免與預存程序中的SQL語句的結束符衝突
建立一個程式或者一個函數
create procedure | function
學習預存程序
首先我們應該學會最基本的幾個操作
建立,調用,修改,刪除
那麼,我們通過以下幾個案例來加深印象
刪除一個預存程序
drop procedure | function if exists proName //
查看一個預存程序
show create procedure | function db_name.proName //
查看一個預存程序的詳細資料
show procedure | function status like ‘proName‘ //
使用案例一、編寫一個簡單查詢功能的預存程序
在使用delimiter用戶端的時候,會將;將 //的形式進行處理
那麼在建立和調用預存程序的時候一定要統一調用的形式
要麼一直使用;,要麼一直使用//
1、建立預存程序
delimiter //create procedure simplepro (out num int)begin select count(*) into num from member ;end//
2、調用預存程序
delimiter //call simplepro(@a) //select @a //
調用預存程序的時候指定一個輸出結果的別名以供調用,
其中a只是指定的一個別名
使用案例二、編寫一個簡單的儲存函數
1、建立儲存函數
delimiter //create function hello (s char(20)) returns char(50)return concat(‘hello, ‘, s, ‘!‘)//
2、調用儲存函數
delimiter //select hello(‘world!‘) //
MySQL資料庫的預存程序(一)