MySql 儲存過程 變數的定義和賦值

2021-10-09 22:02:51 字數 1256 閱讀 4510

mysql 5.0 版本開始支援儲存過程。儲存過程(stored procedure)是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。儲存過程是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數(需要時)來呼叫執行。

declare variable_name datatype(size) default default_value;
解釋:variable_name 是定義變數的名稱(可以定義多個變數逗號分隔),datatype(size) 是變數的型別和長度,default_value定義的變數初始值,如果不需要初始值則 default default_value 這部分可以省略。

declare a,a1,a2 int unsigned default 4000000;  

declare b number(8,2) default 9.95;

declare c date default '1999-12-31'

; declare d datetime default '1999-12-31 23:59:59'

; declare e varchar(255) default 'this will not be padded'

;

1、通過set賦值
drop procedure matches; -- 不存在這個儲存過程時不用執行

create procedure matches(in c_a integer)

begin

declare a,b int default 0;

set a = 99;

select a,b,c_a;

end;

call matches(1)

;

2、通過select into賦值
drop procedure matches; -- 不存在這個儲存過程時不用執行

create procedure matches(in c_a integer)

begin

declare a,b int default 0;

select max(id) into a from test.login ;

select a,b,c_a;

end;

call matches(1)

;

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

MySQL定義函式和儲存過程

預設為off 等價於 0 開啟binlog日誌記錄時,是否信任 建立函式 預設情況下,為了防止主機和從機中定義的函式不一致,不允許使用者自定義函式 如果希望自定義函式,必須將 log bin trust function creators on 1 show variables like log b...

mysql定義和呼叫儲存過程

定義delimiter為 delimiter create procedure sp add3 a int,b int,out c int begin set c a b end 改回預設值 delimiter call sp add3 1,2,c select c set attr contact...