1. 程式人生 > 資料庫 >MySQL儲存過程in、out和inout引數示例和總結

MySQL儲存過程in、out和inout引數示例和總結

儲存過程

1.建立儲存過程並檢視全域性變數

mysql> create database yy;
Query OK,1 row affected (0.00 sec)

mysql> use yy;
Database changed
mysql> set @num1=10,@num2=20,@num3=30;	//設定全域性變數
mysql> delimiter $$
mysql> create procedure p(in num1 int,out num2 int,inout num3 int)
 -> begin
 -> select num1,num2,num3;
 -> set num1=100,num2=200,num3=300;
 -> select num1,num3;
 -> end $$
Query OK,0 rows affected (0.00 sec)

mysql> delimiter ;
mysql> call p(@num1,@num2,@num3);

MySQL儲存過程in、out和inout引數示例和總結

總結1:

  • in 和 inout 引數會將全域性變數的值傳入儲存過程中,而 out 引數不會將全域性變數的值傳入儲存過程中。在儲存過程使用中,引數值 in、out、inout 都會發生改變。

2.呼叫儲存過程時全域性變數值的變化

mysql> select @num1,@num3;

MySQL儲存過程in、out和inout引數示例和總結

總結2:

  • 當呼叫完儲存過程後,發現 in 引數不會對全域性變數的值引起變化,而 out 和 inout 引數呼叫完儲存過程後,會對全域性變數的值產生變化,會將儲存過程引用後的值賦值給全域性變數。
  • in引數賦值型別可以是變數還有定值,而out和inout引數賦值型別必須是變數。

到此這篇關於MySQL儲存過程in、out和inout引數示例和總結的文章就介紹到這了,更多相關MySQL儲存過程in、out和inout引數內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!