mysql存儲過程定義變量 MYSQL存儲過程能返回結(jié)果集嗎?
MYSQL存儲過程能返回結(jié)果集嗎?是的,存儲過程只是將您的查詢語句形成固定格式,因此您不需要每次都執(zhí)行查詢語句。SQL將把SQL語句轉(zhuǎn)換成字節(jié)碼,然后機(jī)器就可以運行了。存儲過程保存了這個步驟,并且已經(jīng)
MYSQL存儲過程能返回結(jié)果集嗎?
是的,存儲過程只是將您的查詢語句形成固定格式,因此您不需要每次都執(zhí)行查詢語句。SQL將把SQL語句轉(zhuǎn)換成字節(jié)碼,然后機(jī)器就可以運行了。存儲過程保存了這個步驟,并且已經(jīng)形成了字節(jié)碼,所以速度很快,特別是在執(zhí)行時間比較大的時候,可以節(jié)省很多時間
要在mysql中得到存儲過程的返回值,可以添加一個out參數(shù)來返回。MySQL存儲過程示例:create procedure addvoucher(在userid int中,在voucherid int中,輸出結(jié)果(整數(shù))開始選擇@endateua:=endate,@batchuA:=batch,@cuCountuA:=cuCount,@isdeaduA:=isdeadFROMtuVoucherWhereId=voucheridSET autocommit=0如果存在(選擇*FROMtuUseruVoucher tuv,tuVouchertvWHEREtv.id= 圖瓦切里達(dá)電視批處理=@批次a) 那么result=1——如果@C已經(jīng)存在,請選擇resultelseifuCount_a> 0 THENIF(TO udays(@endate ua)-TO udays(now())> 0 then
timer$$MySQL> MySQL> create procedure myproc()//存儲過程創(chuàng)建while loop的if branch語句示例-> begin->-> declare I int-> set I=1-> loop1:when I if mod(I,2)0 then/*偶數(shù)-重試*/-> select concat(I,“is an odd number”)-> end if-> set I=I 1-> end when loop1-> end$$query OK,0行受影響(0.00秒)