佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 淺談MySQL存儲過程中declare和set定義變量的區(qū)別

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

熱門標簽:百度競價排名 AI電銷 服務(wù)外包 地方門戶網(wǎng)站 鐵路電話系統(tǒng) Linux服務(wù)器 呼叫中心市場需求 網(wǎng)站排名優(yōu)化

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

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

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

(1)先執(zhí)行下面腳本,創(chuàng)建一個存儲過程,分別有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)然后重復(fù)調(diào)用這個存儲過程。

CALL temp();

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

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

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

您可能感興趣的文章:
  • win10下mysql 8.0.12 安裝及環(huán)境變量配置教程
  • MySQL設(shè)置global變量和session變量的兩種方法詳解
  • mysql 5.6.23 安裝配置環(huán)境變量教程
  • MySQL8新特性:持久化全局變量的修改方法
  • mysql查詢語句中用戶變量的使用代碼解析
  • MySQL 聲明變量及存儲過程分析
  • 幾個比較重要的MySQL變量
  • MySQL使用變量實現(xiàn)各種排序
  • MySQL變量原理及應(yīng)用實例

標簽:湘潭 銅川 仙桃 衡水 蘭州 湖南 黃山 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標題《淺談MySQL存儲過程中declare和set定義變量的區(qū)別》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    临桂县| 延津县| 阿瓦提县| 泌阳县| 罗田县| 会同县| 建始县| 赞皇县| 长宁县| 武隆县| 寿阳县| 阿图什市| 漳浦县| 贵港市| 红桥区| 清水河县| 上高县| 普格县| 三原县| 贵南县| 沙田区| 和静县| 浦县| 南充市| 中江县| 五莲县| 巢湖市| 桦川县| 朝阳县| 固原市| 林周县| 贵港市| 尚志市| 浪卡子县| 怀远县| 巩留县| 宿迁市| 广宁县| 谢通门县| 山西省| 双鸭山市|