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,num2,num3;
 -> end $$
Query OK, 0 rows affected (0.00 sec)

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

總結1:

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

2.調用存儲過程時全局變量值的變化

mysql> select @num1,@num2,@num3;

總結2:

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

到此這篇關於MySQL存儲過程in、out和inout參數示例和總結的文章就介紹到這瞭,更多相關MySQL存儲過程in、out和inout參數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: