一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 淺談MySQL存儲過程中declare和set定義變量的區別

淺談MySQL存儲過程中declare和set定義變量的區別

2020-07-05 16:16mysql教程網 Mysql

下面小編就為大家帶來一篇淺談MySQL存儲過程中declare和set定義變量的區別。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

存儲過程中常看到declare定義的變量和@set定義的變量。簡單的來說,declare定義的類似是局部變量,@set定義的類似全局變量。

1、declare定義的變量類似java類中的局部變量,僅在類中生效。即只在存儲過程中的begin和end之間生效。

2、@set定義的變量,叫做會話變量,也叫用戶定義變量,在整個會話中都起作用(比如某個應用的一個連接過程中),即這個變量可以在被調用的存儲過程或者代碼之間共享數據。如何理解呢?可以看下面這個簡單例子,很好理解。 

(1)先執行下面腳本,創建一個存儲過程,分別有declare形式的變量和@set形式的變量

?
1
2
3
4
5
6
7
8
9
10
11
12
13
DROP PROCEDURE IF EXISTS temp;
DELIMITER //
CREATE PROCEDURE temp()
BEGIN
  DECLARE a INT DEFAULT 1;
 
  SET a=a+1;
  SET @b=@b+1;
  SELECT a,@b;
 
END
//
DELIMITER ;

(2)接著為b變量初始化。

SET @b=1;

(3)然后重復調用這個存儲過程。

CALL temp();

(4)會發現a的值不改變,而b的值會一直增加。

所以,總結起來就是開頭那句話,declare定義的類似是局部變量,@set定義的類似全局變量。

以上這篇淺談MySQL存儲過程中declare和set定義變量的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产无限免费观看黄网站 | 亚洲精品一区二区三区在线看 | 国产免费资源 | 青青草99 | 99网站在线观看 | 九九热在线视频观看这里只有精品 | www.av免费 | 国产综合社区 | 亚洲AV无码专区国产精品麻豆 | 日韩视频免费一区二区三区 | 亚洲成色WWW久久网站夜月 | 91精品国产品国语在线不卡 | 日本免费久久久久久久网站 | 99欧美视频 | 天天操天天射天天爽 | 日本在线一区二区 | 色综合九九 | 日韩精品一区二区三区中文字幕 | 国产精品香蕉一区二区三区 | 美国女网址www呦女 美国复古性经典xxxxx | 欧美va在线播放免费观看 | 欧美日韩国产一区二区三区伦 | 狠狠五月天中文字幕 | 视频二区 素人 制服 国产 | 亚洲国产精品久久人人爱 | 免费看国产一级特黄aa大片 | 亚洲不卡视频在线 | 火影忍者小南裸羞羞漫画 | 亚洲精品乱码久久久久久蜜桃图片 | 成年男女免费视频网站 | 91制片厂制作传媒免费版樱花 | 日本在线视频播放 | 欧美一区二区三区精品 | 亚洲色欲色欲综合网站 | bestialitysex杂交 bedfriend泰剧全集免费观看 | 国产一区在线看 | 欧美一区二区三区久久久 | acg火影忍者熟密姬纲手h | 国产成人a∨麻豆精品 | 香蕉97超级碰碰碰免费公 | 亚洲国产精久久久久久久 |