国产探花免费观看_亚洲丰满少妇自慰呻吟_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存儲過程的權限問題小結
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明星| 荥经县| 平阴县| 彭泽县| 兰考县| 阿荣旗| 海南省| 南汇区| 新建县| 大渡口区| 南靖县| 宁河县| 香格里拉县| 哈尔滨市| 新沂市| 葵青区| 西盟| 台江县| 纳雍县| 吉木萨尔县| 麻阳| 克山县| 铜梁县| 错那县| 察隅县| 沁水县| 密云县| 高碑店市| 湛江市| 类乌齐县| 祥云县| 云安县| 尉氏县| 徐汇区| 彰化市| 来凤县| 贵南县| 北宁市| 辽宁省| 屯留县| 元江|