9. 儲存過程和函式
阿新 • • 發佈:2020-09-04
建立儲存過程
delimiter &&
create procedure pro_name (in id int, out count_num int)
reads sql date
begin
select count(*) from t_book where book_type = id;
end
&&
delimiter ;
建立儲存函式
delimiter && create funtion func_book (book_id int) returns varchar(20) begin return (select book_name from t_book where id = book_id) end && delimiter ;
變數
- 定義變數
- declare 變數名 型別 [default 值]‘
- 為變數賦值
- set 變數名 = 值;
- select 欄位 intot 變數名 from 表名 where 條件
遊標
- 宣告遊標
- declare 遊標名 cursor for select語句;
- 開啟遊標
- open 遊標名;
- 使用遊標
- fetch 遊標名 into 變數名;
- 關閉遊標
- close 遊標名;
流程控制語句
if語句
if 條件 then 執行語句 [elseif 條件 then 執行語句] ... [else 執行語句] end if
case語句
case 值
when 值 then 執行語句;
...
[else 執行語句]
end case
loop,leave語句
[標籤:] loop
執行語句;
[leave 標籤]
end loop [標籤];
iterate語句
跳出本次迴圈
iterate 標籤;
repeat語句
[標籤:] repeat
執行語句;
until 條件
end repeat [標籤];
while語句
[標籤:] while 條件 do
執行語句;
end while [標籤]
呼叫儲存過程和函式
- 呼叫儲存過程
- call 儲存過程名(引數列表);
- 呼叫函式
- 函式名(引數列表);
檢視儲存過程和函式
- show status 語句檢視儲存過程和函式的狀態
- show status like '儲存名或函式名';
- show create語句檢視儲存過程和函式的定義
- show create '儲存名或函式名';
修改儲存過程或函式
alter 儲存過程或函式的名稱 .......
刪除儲存過程或函式
drop 儲存過程或函式的名稱;