婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法

mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法

熱門(mén)標(biāo)簽:400電話申請(qǐng)信用卡 萊西市地圖標(biāo)注 外呼系統(tǒng)電銷受騙 銷售語(yǔ)音電話機(jī)器人 巫師三血與酒地圖標(biāo)注 走過(guò)哪個(gè)省地圖標(biāo)注 常州網(wǎng)絡(luò)外呼系統(tǒng)開(kāi)發(fā) 在哪里申請(qǐng)400電話 安徽ai電話電銷機(jī)器人有效果嗎

本文實(shí)例講述了mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法。分享給大家供大家參考,具體如下:

存儲(chǔ)過(guò)程創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)

這個(gè)咱就不說(shuō)什么定義啦術(shù)語(yǔ)啦啥的,直接看著實(shí)例來(lái)慢慢熟悉它。完事呢,咱們來(lái)創(chuàng)建一個(gè)名為GetAllProducts()的簡(jiǎn)單存儲(chǔ)過(guò)程哈,這個(gè)GetAllProducts()存儲(chǔ)過(guò)程呢,主要是用來(lái)從products表中選擇所有產(chǎn)品。咱們來(lái)啟動(dòng) mysql 客戶端工具并鍵入以下命令:

DELIMITER //
 CREATE PROCEDURE GetAllProducts()
  BEGIN
  SELECT * FROM products;
  END //
DELIMITER ;

咱們來(lái)詳細(xì)看下上面的sql哈:

  • 第一個(gè)命令是DELIMITER //,它與存儲(chǔ)過(guò)程語(yǔ)法無(wú)關(guān)。 DELIMITER語(yǔ)句將標(biāo)準(zhǔn)分隔符 - 分號(hào)(;)更改為://。 在這種情況下,分隔符從分號(hào)(;)更改為雙斜杠//。為什么我們必須更改分隔符? 因?yàn)槲覀兿雽⒋鎯?chǔ)過(guò)程作為整體傳遞給服務(wù)器,而不是讓mysql工具一次解釋每個(gè)語(yǔ)句。 在END關(guān)鍵字之后,使用分隔符//來(lái)指示存儲(chǔ)過(guò)程的結(jié)束。 最后一個(gè)命令(DELIMITER;)將分隔符更改回分號(hào)(;)。
  • 使用CREATE PROCEDURE語(yǔ)句創(chuàng)建一個(gè)新的存儲(chǔ)過(guò)程。在CREATE PROCEDURE語(yǔ)句之后指定存儲(chǔ)過(guò)程的名稱。在這個(gè)示例中,存儲(chǔ)過(guò)程的名稱為:GetAllProducts,并把括號(hào)放在存儲(chǔ)過(guò)程的名字之后。
  • BEGIN和END之間的部分稱為存儲(chǔ)過(guò)程的主體。將聲明性SQL語(yǔ)句放在主體中以處理業(yè)務(wù)邏輯。 在這個(gè)存儲(chǔ)過(guò)程中,我們使用一個(gè)簡(jiǎn)單的select查詢來(lái)查詢products表中的數(shù)據(jù)。

通過(guò)上面的sql,咱們就算是創(chuàng)建了一個(gè)存儲(chǔ)過(guò)程了,完事我們就來(lái)調(diào)用存儲(chǔ)過(guò)程,來(lái)看下調(diào)用語(yǔ)法:

CALL STORED_PROCEDURE_NAME();

再來(lái)看下調(diào)用GetAllProducts()存儲(chǔ)過(guò)程的具體sql:

CALL GetAllProducts();

運(yùn)行上面的sql你就會(huì)看到你在存儲(chǔ)過(guò)程中的sql的運(yùn)行結(jié)果了。

變量創(chuàng)建(DECLARE)和賦值(SET)

我們都知道,變量是一個(gè)命名數(shù)據(jù)對(duì)象,變量的值可以在存儲(chǔ)過(guò)程執(zhí)行期間更改。我們接下來(lái)就嘗試使用存儲(chǔ)過(guò)程中的變量來(lái)保存直接/間接結(jié)果。 這些變量是存儲(chǔ)過(guò)程的本地變量,但是我們得注意,變量必須先聲明后,才能使用它。而我們?nèi)绻诖鎯?chǔ)過(guò)程中聲明一個(gè)變量,可以使用DECLARE語(yǔ)句,來(lái)看下sql語(yǔ)法:

DECLARE variable_name datatype(size) DEFAULT default_value;

咱們來(lái)看下上面的sql具體是什么意思:

  • 首先,在DECLARE關(guān)鍵字后面要指定變量名。變量名必須遵循MySQL表列名稱的命名規(guī)則。
  • 其次,指定變量的數(shù)據(jù)類型及其大小。變量可以有任何mysql數(shù)據(jù)類型,如INT,VARCHAR,DATETIME等。
  • 最后,當(dāng)聲明一個(gè)變量時(shí),它的初始值為NULL。但是可以使用DEFAULT關(guān)鍵字為變量分配默認(rèn)值。

咱們接下來(lái)就來(lái)聲明一個(gè)名為total_sale的變量,數(shù)據(jù)類型為INT,默認(rèn)值為0。來(lái)看下sql:

DECLARE total_sale INT DEFAULT 0;

其中,mysql允許使用單個(gè)DECLARE語(yǔ)句聲明共享相同數(shù)據(jù)類型的兩個(gè)或多個(gè)變量,來(lái)看個(gè)sql:

DECLARE x, y INT DEFAULT 0;

在上面的sql中,我們聲明了兩個(gè)整數(shù)變量x和y,并將其默認(rèn)值設(shè)置為0。完事呢,既然變量設(shè)置完了,接下來(lái)就該分配值了,我們?nèi)绻獮樽兞糠峙湟粋€(gè)值,可以使用SET語(yǔ)句,來(lái)看個(gè)實(shí)例:

DECLARE total_count INT DEFAULT 0;
SET total_count = 10;

在上面的sql語(yǔ)句中,我們分配total_count變量的值為10。完事除了SET語(yǔ)句之外,還可以使用SELECT INTO語(yǔ)句將查詢的結(jié)果分配給一個(gè)變量,來(lái)看實(shí)例:

DECLARE total_products INT DEFAULT 0
 
SELECT COUNT(*) INTO total_products
FROM products

在上面的sql中,我們應(yīng)當(dāng)有如下理解:

  • 首先,聲明一個(gè)名為total_products的變量,并將其值初始化為0。
  • 然后,使用SELECT INTO語(yǔ)句來(lái)分配值給total_products變量,從數(shù)據(jù)庫(kù)中的products表中選擇的產(chǎn)品數(shù)量。

我們知道一個(gè)變量有自己的范圍(作用域),它用來(lái)定義它的生命周期。 但是如果在存儲(chǔ)過(guò)程中聲明一個(gè)變量,那么當(dāng)達(dá)到存儲(chǔ)過(guò)程的END語(yǔ)句時(shí),它將超出范圍,因此在其它代碼塊中無(wú)法訪問(wèn)。

我們可以這么理解,如果我們?cè)贐EGIN END塊內(nèi)聲明一個(gè)變量,那么如果達(dá)到END,它將超出范圍。 我們還可以在不同的作用域中聲明具有相同名稱的兩個(gè)或多個(gè)變量,因?yàn)樽兞績(jī)H在自己的作用域中有效。 但是,在不同范圍內(nèi)聲明具有相同名稱的變量不是很好的編程習(xí)慣。其中,以@符號(hào)開(kāi)頭的變量是會(huì)話變量,直到會(huì)話結(jié)束前它可用和可訪問(wèn)。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:
  • MySQL中使用自定義變量 編寫(xiě)偷懶的UNION示例
  • mysql用戶變量與set語(yǔ)句示例詳解
  • MySQL變量原理及應(yīng)用實(shí)例
  • MySQL 的啟動(dòng)選項(xiàng)和系統(tǒng)變量實(shí)例詳解
  • mysql變量用法實(shí)例分析【系統(tǒng)變量、用戶變量】
  • 關(guān)于MySQL性能調(diào)優(yōu)你必須了解的15個(gè)重要變量(小結(jié))
  • win10下mysql 8.0.12 安裝及環(huán)境變量配置教程
  • MySQL設(shè)置global變量和session變量的兩種方法詳解
  • mysql 5.6.23 安裝配置環(huán)境變量教程
  • MySQL 自定義變量的概念及特點(diǎn)

標(biāo)簽:來(lái)賓 煙臺(tái) 鞍山 赤峰 陽(yáng)江 果洛 河北 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法》,本文關(guān)鍵詞  mysql,存儲(chǔ),過(guò)程,之,創(chuàng)建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql存儲(chǔ)過(guò)程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘谷县| 庆城县| 洞口县| 通州区| 普定县| 高邑县| 万年县| 多伦县| 图木舒克市| 马公市| 龙门县| 嵩明县| 探索| 兰溪市| 仪征市| 宁强县| 洪湖市| 岗巴县| 临泽县| 金昌市| 银川市| 贵州省| 乌兰浩特市| 莎车县| 台前县| 高安市| 湘潭市| 普宁市| 华阴市| 霍城县| 永靖县| 罗平县| 肥东县| 抚州市| 隆林| 郓城县| 天祝| 乐安县| 葫芦岛市| 安福县| 大港区|