SQLyog 如何運行存儲過程?


1.情景展示

我們可以看到,在SQLyog中,選中存儲過程,沒有運行存儲過程的選項,那該如何執行存儲過程?

2.具體分析

我們無法像在Navicat當中那樣,直接運行:

只能用最原始的調用存儲過程的方法:call。

3.解決方案

關於存儲過程的調用,這里,又可以分為3種情況:

情形一:只有入參,沒有返回參數;

語法:

call 存儲過程名稱('參數值1','參數值2',...)

情形二:既有入參,又有出參;

語法:

call 存儲過程名稱('參數值1','參數值2',...,'出參1','出參2',...);

出參使用@+變量名接收,變量可以使用同一個(充當占位符?,用於接收存儲過程返回的數據)。

該存儲過程有3個入參,14個出參;

查看代碼
CALL pro_epidemic_statistics (
  '2022-01-01',
  '2022-02-18',
  '410425105',
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result,
  @result
)

說明:如果存儲過程有出參的話,必須用@+變量名的方式進行接收。

即使,名稱與返回列名保持一致也不行。

另外的話,我們知道@+變量名的形式,是用戶變量;

但是,不適用於上面這樣接收存儲過程返回值的情況,存儲過程執行后,@result的值為null,而不是一個結果集。

情形三:沒有入參,也沒出參。

沒有遇到,應該是直接:call 存儲過程名稱()。

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM