一:操作變數
(1):宣告變數
declare var_name[,...] type [default value] (這種是區域性變數,書上很坑,沒說這種宣告變數只能在儲存過程中用且只能在begin/end中用!!!)
例如: declare a int default 1000;
delimiter $$
create procedure pro()
begin
declare a int default 1000;
select student_id into a (表示把查詢結果賦值給變數)
from students_info where student_id=1;
end$$
set @a =1000
二:操作條件
在高階程式語言中為了提高語言的安全性,提供了異常處理機制。對於mysql軟體,也提供了一種機制來提高安全性,即本節所要介紹的「條件」。條件的定義和處理可以用來定義處理過程中遇到的機制來提高安全性,即本節所要介紹的「條件」。條件的定義和處理可以用來定義在處理過程中遇到問題時相應的步驟。
1.定義條件
declare condition_name condition for condition_value
condition_value:
sqlstate[value] sqlstate_value
|mysql_error_code
在上述語句中,condition_name引數表示所要定義的條件名稱;引數condition_value用來實現設定條件的型別;
引數sqlstate_value和mysql_error_code用來設定條件的錯誤。
2.定義處理程式
declare handler_type handler for condition_value[,....] sp_statement
handler_type:
condition
|exit
|undo
condition_value:
sqlstate[value] sqlstate_value
|condition_name
|sqlwaring
|not found
|sqlexception
|mysql_error_code
在上述語句裡,condition_name引數表示所要定義的條件名稱;引數condition_value用來實現設定條件的型別;引數sqlstate_value和mysql_error_code用來設定條件的錯誤
例如:書上也沒有講例子。。。。。。。多半不怎麼用這個。。
mysql 過程和函式 MySQL 儲存過程和函式
變數 系統變數 變數由系統提供,不是使用者自定義的,屬於伺服器層面 全域性變數 會話變數 如果是全域性級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則預設是會話 檢視全域性變數 show global variables show global variablesli...
MySQL儲存過程和儲存函式
儲存過程和儲存函式 mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines。1.儲存過程和函式的區別 函式只能通過return語句返回單個值或者表物件。而儲存過程不允許執行return,但是通過out引數返回多個值。函式是...
Mysql 儲存過程和函式
一 儲存過程 procedure 本質上沒區別,執行的本質都一樣。只是函式有如 只能返回乙個變數的限制。而儲存過程可以返回多個。函式是可以嵌入在sql中使用的,可以在select中呼叫,而儲存過程要讓sql的query 可以執行,需要把 mysql real connect 的最後乙個引數設定為cl...