變數是乙個命名資料物件,變數的值可以在儲存過程執行期間更改。我們通常使用儲存過程中的變數來儲存直接/間接結果。 這些變數是儲存過程的本地變數。
注意:變數必須先宣告後,才能使用它。
要在儲存過程中宣告乙個變數,可以使用declare
語句,如下所示:
declare variable_name datatype(size) default default_value;下面來更詳細地解釋上面的語句:
例如,可以宣告乙個名為total_sale
的變數,資料型別為int
,預設值為0
,如下所示:
declare total_sale intmysql允許您使用單個default
0;
declare
語句宣告共享相同資料型別的兩個或多個變數,如下所示:
declare x, y int我們宣告了兩個整數變數default
0;
x
和y
,並將其預設值設定為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...