建立:
delimiter //
create procedure my_add(in a int, in b int, out c int)
begin
if a is null then set a = 0;
end if;
if b is null then set b = 0;
end if;
set c = a + b;
end; //
delimiter ;
檢視:
方法一:(直接查詢,比較實用,檢視當前自定義的儲存過程)
select `specific_name` from mysql.proc where `db` = 'your_db_name' and `type` = 'procedure'
方法二:(檢視資料庫裡所有儲存過程+內容)
show procedure status;
方法三:(檢視當前資料庫裡儲存過程列表)
select specific_name from mysql.proc ;
方法四:(檢視某乙個儲存過程的具體內容)
select body from mysql.proc where specific_name = 'your_proc_name';
檢視儲存過程或函式的建立** :
show create procedure your_proc_name;
show create function your_func_name;
呼叫:
mysql> set @a = 10;
query ok, 0 rows affected (0.00 sec)
mysql> set @b = 20;
query ok, 0 rows affected (0.00 sec)
mysql> set @c = 0;
query ok, 0 rows affected (0.00 sec)
mysql>select @c;
+------+
| @c |
+------+
| 0 |
+------+
mysql> call my_add(@a, @b, @c);
query ok, 0 rows affected (0.00 sec)
mysql> select @a, @b, @c;
+------+------+------+
| @a | @b | @c |
+------+------+------+
| 10 | 20 | 30 |
+------+------+------+
1 row in set (0.00 sec)
刪除 drop procedure your_proc_name;
參考:
MYSQL儲存過程的建立 呼叫和檢視
create definer procedure sp name proc parameter characteristic routine body proc parameter in out inout param name type characteristic comment string ...
MySQL建立 呼叫儲存過程
今天我們搞一搞mysql的儲存過程,過程中踩了一些小坑,算是做個總結歸納 首先,我們了解一下儲存過程的建立語句 create procedure index statistic in flag varchar 10 out result int,inout num int begin if flag...
檢視mysql儲存過程 mysql檢視儲存過程函式
查詢資料庫中的儲存過程和函式 select name from mysql.proc where db xx and type procedure 儲存過程 select name from mysql.proc where db xx and type function 函式 show proce...