MySQL 儲存過程的變數

2022-03-22 04:17:51 字數 2083 閱讀 5556

變數是乙個命名資料物件,變數的值可以在儲存過程執行期間更改。我們通常使用儲存過程中的變數來儲存直接/間接結果。 這些變數是儲存過程的本地變數。

注意:變數必須先宣告後,才能使用它。

要在儲存過程中宣告乙個變數,可以使用declare語句,如下所示:

declare variable_name datatype(size) default default_value;
下面來更詳細地解釋上面的語句:

例如,可以宣告乙個名為total_sale的變數,資料型別為int,預設值為0,如下所示:

declare total_sale int

default

0;

mysql允許您使用單個declare語句宣告共享相同資料型別的兩個或多個變數,如下所示:

declare x, y int

default

0;

我們宣告了兩個整數變數xy,並將其預設值設定為0

當宣告了乙個變數後,就可以開始使用它了。要為變數分配乙個值,可以使用set語句,例如:

declare total_count int

default0;

set total_count =

10;

上面語句中,分配total_count變數的值為10

除了set語句之外,還可以使用select into語句將查詢的結果分配給乙個變數。 請參閱以下示例:

declare total_products int

default

0select

count(*) into

total_products

from products

在上面的例子中:

資料表 userinfo

執行呼叫儲存過程,結果如下。

注意:資料庫表字段等命名是注意區別關鍵字,不然使用時會報錯,如key、name等。

如下

乙個變數有自己的範圍(作用域),它用來定義它的生命週期。 如果在儲存過程中宣告乙個變數,那麼當達到儲存過程的end語句時,它將超出範圍,因此在其它**塊中無法訪問。

如果您在begin end塊內宣告乙個變數,那麼如果達到end,它將超出範圍。 可以在不同的作用域中宣告具有相同名稱的兩個或多個變數,因為變數僅在自己的作用域中有效。 但是,在不同範圍內宣告具有相同名稱的變數不是很好的程式設計習慣。

@符號開頭的變數是會話變數。直到會話結束前它可用和可訪問。

MySQL儲存過程 變數

mysql變數定義 選中資料庫,更改執行分隔符 use 資料庫名 修改執行分隔符 delimiter 第一種建立過程方法 帶引數方式 帶參方法一 variable 為變數名 int 為變數型別 in 輸入引數 表示該引數的值必須在呼叫儲存過程之前指定,在儲存過程中修改的值不能被返回 不會影響到傳入引...

MySql儲存過程 3 變數

1 變數的定義 在mysql裡面可以像我們寫 中一樣定義變數來保持中間結果,看下面的格式 declare variable name datatype size default default value declare相當於關鍵字,有點類似var,表示定義乙個變數 然後variable name是...

mysql 儲存過程變數拼接

有時候我們需要模糊查詢,但是同時我們又要 在模糊查詢的時候使用變數,我們又想在變數的後面拼接乙個 去匹配模糊查詢 那麼就會用到 concat函式 示例如下 select count id from config where name like concat studentname,其中student...