下文將教您如何創建MySQL存儲過程,並附上了詳細的步驟,如果您在MySQL存儲過程方面遇到過問題,不妨一看,對您會有所幫助。
--選擇數據庫
- mysql> use test;
- Database changed
--創建示例用表
- mysql> create table zzm(
- -> id int primary key auto_increment,
- -> name varchar(10)
- -> );
- Query OK, 0 rows affected (0.20 sec)
- mysql> insert into zzm(name) values('zhang');
- Query OK, 1 row affected (0.08 sec)
- mysql> insert into zzm(name) values('zeng');
- Query OK, 1 row affected (0.05 sec)
- mysql> insert into zzm(name) values('ming');
- Query OK, 1 row affected (0.05 sec)
- mysql> select * from zzm;
- +----+-------+
- | id | name |
- +----+-------+
- | 1 | zhang |
- | 2 | zeng |
- | 3 | ming |
- +----+-------+
- 3 rows in set (0.00 sec)
--更改命令結束符因為在procedure中經常要用到默認的命令結束符--分號(;)
--所以在創建procedure的時候需要定義新的結束符以說明創建procedure的命令結束)
--這裡將結束符號改成美元符號--$
mysql> delimiter $
--創建MySQL存儲過程p3
--此存儲過程的過程名是p3,該過程包含兩個參數,
--一個是輸入類型的以IN標示),參數名是nameid,類型是int,
--一個是輸出類型的以OUT標示),參數名是person_name,類型是varchar(10)
--此存儲過程的作用是查詢出zzm表的全部內容,會輸出結果集data set),然後
--再查詢表中記錄的ID是nameid的字段name,將其輸出到第二個輸出類型的參數裡面,這個查詢
--不會輸出結果集。
- mysql> create procedure p3(IN nameid int, OUT person_name varchar(10))
- -> begin
- -> select * from test.zzm;
- -> select zzm.name into person_name from test.zzm where zzm.id = nameid;
- -> end
- -> $
- Query OK, 0 rows affected (0.00 sec)
mysql存儲過程的調用方法
MYSQL IFNULL函數的使用
MySQL日期的相關函數介紹
帶您深入了解MYSQL Cast函數
帶您了解mysql CONCAT()函數