mysql儲存過程和函式

2021-09-10 04:19:15 字數 982 閱讀 1620

create precedure procedure_name(in param_1 int,out param_2, inout param_3 int )

begin

end;

1.不論有沒有引數都要加上括號.

2.對自定義的變數使用set param=value來賦值,使用select param來檢索.

1.in 代表輸入引數,呼叫者向儲存過程內部傳值,可以直接傳值也可以把值附給乙個變數傳進去。儲存過程內的變數是區域性變數,值改變後不會影響外部的變數(可以簡單的理解為呼叫函式或方法時傳的引數)。

create procedure cqupt(in param int)

begin

select param;

set param=2;

select param;

end;

使用call來呼叫儲存過程:

set @value=5;

call cqupt(@value);

select @value;

這是結果:

這裡需要提一下的是自定義的變數應該加上@。

2.out 代表輸出引數,不接受外界給他傳的值,即使傳值也沒有用,通常傳入乙個變數進去,在儲存過程內部給變數賦值,會影響外界的值。

自定義函式和儲存過程很像,但是函式要求有乙個返回值,並且函式只會返回乙個值,不允許返回乙個結果集。

建立語法:

create function 函式名(引數) returns 資料型別

begin

sql語句;

return 值;

end;

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...