MYSQL儲存過程引數,in out inout

2021-09-25 16:59:02 字數 2293 閱讀 3051

– 儲存過程引數,可以定義多個形參

– 引數前面新增 in ,表示輸入引數,預設in

– 引數前面新增 out ,表示輸出引數

– 引數前面新增 inout ,表示輸入輸出引數

– mysql中 @result 代表全域性變數,@符號是對全域性變數的一種申明

delimiter cre

atep

roce

dure

proc

(ini

int,

inji

nt,o

utre

sult

int)

−−輸出

引數be

gins

etre

sult

=i+j

;end

create procedure proc( in i int , in j int , out result int) -- 輸出引數 begin set result = i + j ; end

create

proc

edur

epro

c(in

iint

,inj

int,

outr

esul

tint

)−−輸

出引數b

egin

setr

esul

t=i+

j;en

dcall proc(1,2,@result) – @result,全域性變數

select @result

– out輸出引數

delimiter cre

atep

roce

dure

proc

(ini

int,

inji

nt,o

utre

sult

int)

begi

nsel

ectr

esul

t;se

tres

ult=

i+j;

en

dcreate procedure proc( in i int , in j int , out result int) begin select result ; set result = i + j ; end

create

proc

edur

epro

c(in

iint

,inj

int,

outr

esul

tint

)beg

inse

lect

resu

lt;s

etre

sult

=i+j

;end

call proc(20,30,@result)

select @result

set @result = 10 ;

select @result

– inout 輸入輸出引數

drop procedure if exists proc

delimiter cre

atep

roce

dure

proc

(ini

int,

inji

nt,i

nout

resu

ltin

t)be

gins

elec

tres

ult;

setr

esul

t=i+

j;en

dcreate procedure proc( in i int , in j int , inout result int) begin select result ; set result = i + j ; end

create

proc

edur

epro

c(in

iint

,inj

int,

inou

tres

ulti

nt)b

egin

sele

ctre

sult

;set

resu

lt=i

+j;e

ndcall proc(20,30,@result)

select @result

set @result = 10 ;

MYSQL儲存過程入門1 語法以及in,out區別

1.什麼是儲存過程?其實儲存過程就是預編譯了的sql語句。2.優點 1 提速 只需要經過一次預編譯,以後就可以直接呼叫該儲存過程。如若有數百次的sql語句執行,儲存過程更快速,因為其經過了預編譯。2 省流量 如有數百條sql語句需要執行,就要傳送數百條sql語句的流量,而儲存過程一條即可。3 安全 ...

MySQL儲存過程的引數

mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout,形式如 create procedure in out inout 引數名 資料類形.in 輸入引數 表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值 out 輸出引數 該值...

mysql儲存過程引數比較

引數 mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout in 輸入引數 表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值 out 輸出引數 該值可在儲存過程內部被改變,並可返回 inout 輸入輸出引數 呼叫時指定,並且可被...