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