一、定義
儲存過程可以一次性執行成批的sql語句,也叫批處理;
優點:1、批處理,減少客戶與服務之間的交流次數;
2、在伺服器端執行,移植性好;
3、安全要求高的行業;
4、包含流程控制結構的sql語句的集合;
二、建立儲存過程
先宣告新的結束符(任選,但是避免在mysql環境下有特殊含義):delimiter //
語法格式:
create procedure p_name(in c_name 資料型別) ----in是預設的,可以不寫
in:輸入形參的應用 out:輸出形參的使用,用乙個變數(實參位置)儲存儲存過程中返回的結果
【特徵描述1、使用什麼語言建立儲存過程,2、結果的確定性,3、許可權,4、注釋】
sql語句集合(可以是一條或多條)
例如:create procedure p1() select * from table;
create procedure p1()
begin
流程控制結構;
sql語句集合;
end//
declare(宣告) var_name type;
儲存過程的區域性變數是臨時結果;
作用範圍:從宣告位置開始,到end結束;
使用者定義變數:宣告開始set @x=3;到斷開連線結束,不能和其他使用者共享;
三、流程控制結構
1、條件結構
語法格式:
if 條件 then 語句集合
elseif 條件 then 語句集合
else 語句集合
end if ----注意有空格
當形參中的變數如果和儲存過程中的區域性變數同名時,會「覆蓋」;形參變數在儲存過程中無大小寫的要求;
case語法:
1)case 變數
when 變數取值1 then 語句集合
when 變數取值2 then 語句集合
else 語句集合
end case;
2)case
when 變數與值1表示式 then 語句集合
when 變數與值2表示式 then 語句集合
else
end case;
2、迴圈結構
while ······ end while
loop ······ end loop
repeat ···· end repeat
goto (不推薦使用)
四、select ····· into 變數列表
只能應用在儲存過程中
儲存過程的定義
在學習程式過程之前,先了解下什麼是儲存過程?為什麼要用儲存過程,他有那些優點 定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就...
儲存過程定義
return status 是乙個可選的整型變數,儲存儲存過程的返回狀態。這個變數在用於 execute 語句前,必須在批處理 儲存過程或函式中宣告過。在用於喚醒呼叫標量值使用者定義函式時,return status 變數可以是任何標量資料型別。procedure name 是擬呼叫的儲存過程的完全...
mysql定義過程 定義MySql儲存過程
建立乙個不帶返回值的儲存過程 delimiter drop procedure if exists proc name create procedureproc name in num1 int,in num2 int begin set a 2000000001 set d 20000001 se...