MySQL存儲過程的創建方法是比較基礎的知識,下面就為您介紹如何創建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
--此MySQL存儲過程的過程名是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> show procedure status $
編輯推薦】
mysql觸發器的三個狀態
建立MySQL觸發器的語法
mysql建主從服務器的實現方法
Mysql聚合函數簡介
MySQL字符串大小寫轉換函數