国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:53:08
字體:
來源:轉載
供稿:網友

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

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

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

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

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定義變量的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

您可能感興趣的文章:

MySQL實現創建存儲過程并循環添加記錄的方法Mybatis調用MySQL存儲過程的簡單實現MySQL存儲過程的權限問題小結
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤壁市| 横山县| 肃宁县| 宁国市| 九台市| 邹平县| 铜梁县| 邢台县| 深水埗区| 汾阳市| 马尔康县| 云梦县| 青阳县| 神木县| 祁门县| 葵青区| 田东县| 赤峰市| 社旗县| 澎湖县| 忻城县| 芮城县| 涪陵区| 玛纳斯县| 襄樊市| 蓬溪县| 托克逊县| 石城县| 盐源县| 合阳县| 东丰县| 内丘县| 甘肃省| 平安县| 贵德县| 于都县| 眉山市| 曲麻莱县| 通州市| 红原县| 涞水县|