日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量...

發布時間:2025/3/11 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

存儲過程創建(CREATE PROCEDURE)和調用(CALL)

這個咱就不說什么定義啦術語啦啥的,直接看著實例來慢慢熟悉它。完事呢,咱們來創建一個名為GetAllProducts()的簡單存儲過程哈,這個GetAllProducts()存儲過程呢,主要是用來從products表中選擇所有產品。咱們來啟動 mysql 客戶端工具并鍵入以下命令:

DELIMITER //

CREATE PROCEDURE GetAllProducts()

BEGIN

SELECT * FROM products;

END //

DELIMITER ;

咱們來詳細看下上面的sql哈:

第一個命令是DELIMITER //,它與存儲過程語法無關。 DELIMITER語句將標準分隔符 - 分號(;)更改為://。 在這種情況下,分隔符從分號(;)更改為雙斜杠//。為什么我們必須更改分隔符? 因為我們想將存儲過程作為整體傳遞給服務器,而不是讓mysql工具一次解釋每個語句。 在END關鍵字之后,使用分隔符//來指示存儲過程的結束。 最后一個命令(DELIMITER;)將分隔符更改回分號(;)。

使用CREATE PROCEDURE語句創建一個新的存儲過程。在CREATE PROCEDURE語句之后指定存儲過程的名稱。在這個示例中,存儲過程的名稱為:GetAllProducts,并把括號放在存儲過程的名字之后。

BEGIN和END之間的部分稱為存儲過程的主體。將聲明性SQL語句放在主體中以處理業務邏輯。 在這個存儲過程中,我們使用一個簡單的select查詢來查詢products表中的數據。

通過上面的sql,咱們就算是創建了一個存儲過程了,完事我們就來調用存儲過程,來看下調用語法:

CALL STORED_PROCEDURE_NAME();

再來看下調用GetAllProducts()存儲過程的具體sql:

CALL GetAllProducts();

運行上面的sql你就會看到你在存儲過程中的sql的運行結果了。

變量創建(DECLARE)和賦值(SET)

我們都知道,變量是一個命名數據對象,變量的值可以在存儲過程執行期間更改。我們接下來就嘗試使用存儲過程中的變量來保存直接/間接結果。 這些變量是存儲過程的本地變量,但是我們得注意,變量必須先聲明后,才能使用它。而我們如果要在存儲過程中聲明一個變量,可以使用DECLARE語句,來看下sql語法:

DECLARE variable_name datatype(size) DEFAULT default_value;

咱們來看下上面的sql具體是什么意思:

首先,在DECLARE關鍵字后面要指定變量名。變量名必須遵循MySQL表列名稱的命名規則。

其次,指定變量的數據類型及其大小。變量可以有任何mysql數據類型,如INT,VARCHAR,DATETIME等。

最后,當聲明一個變量時,它的初始值為NULL。但是可以使用DEFAULT關鍵字為變量分配默認值。

咱們接下來就來聲明一個名為total_sale的變量,數據類型為INT,默認值為0。來看下sql:

DECLARE total_sale INT DEFAULT 0;

其中,mysql允許使用單個DECLARE語句聲明共享相同數據類型的兩個或多個變量,來看個sql:

DECLARE x, y INT DEFAULT 0;

在上面的sql中,我們聲明了兩個整數變量x和y,并將其默認值設置為0。完事呢,既然變量設置完了,接下來就該分配值了,我們如果要為變量分配一個值,可以使用SET語句,來看個實例:

DECLARE total_count INT DEFAULT 0;

SET total_count = 10;

在上面的sql語句中,我們分配total_count變量的值為10。完事除了SET語句之外,還可以使用SELECT INTO語句將查詢的結果分配給一個變量,來看實例:

總結

以上是生活随笔為你收集整理的mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。