教您如何創(chuàng)建MySQL存儲過程
MySQL存儲過程的創(chuàng)建方法是比較基礎(chǔ)的知識,下面就為您介紹如何創(chuàng)建MySQL存儲過程,如果您是剛剛接觸MySQL數(shù)據(jù)庫的新人,不妨一看。
--選擇數(shù)據(jù)庫
mysql> use test;
Database changed
--創(chuàng)建示例用表
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)
--更改命令結(jié)束符(因?yàn)樵趐rocedure中經(jīng)常要用到默認(rèn)的命令結(jié)束符--分號(;)
--所以在創(chuàng)建procedure的時候需要定義新的結(jié)束符以說明創(chuàng)建procedure的命令結(jié)束)
--這里將結(jié)束符號改成美元符號--$
mysql> delimiter $
--創(chuàng)建MySQL存儲過程p3
--此MySQL存儲過程的過程名是p3,該過程包含兩個參數(shù),
--一個是輸入類型的(以IN標(biāo)示),參數(shù)名是nameid,類型是int,
--一個是輸出類型的(以O(shè)UT標(biāo)示),參數(shù)名是person_name,類型是varchar(10)
--此存儲過程的作用是查詢出zzm表的全部內(nèi)容,會輸出結(jié)果集(data set),然后
--再查詢表中記錄的ID是nameid的字段name,將其輸出到第二個輸出類型的參數(shù)里面,這個查詢
--不會輸出結(jié)果集。
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)
--創(chuàng)建完成,查看數(shù)據(jù)庫中所有已經(jīng)創(chuàng)建的存儲過程
mysql> show procedure status $
【編輯推薦】