創(chuàng)建MySQL存儲(chǔ)過程示例
下文將教您如何創(chuàng)建MySQL存儲(chǔ)過程,并附上了詳細(xì)的步驟,如果您在MySQL存儲(chǔ)過程方面遇到過問題,不妨一看,對(duì)您會(huì)有所幫助。
--選擇數(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é)束符--分號(hào)(;)
--所以在創(chuàng)建procedure的時(shí)候需要定義新的結(jié)束符以說明創(chuàng)建procedure的命令結(jié)束)
--這里將結(jié)束符號(hào)改成美元符號(hào)--$
mysql> delimiter $
--創(chuàng)建MySQL存儲(chǔ)過程p3
--此存儲(chǔ)過程的過程名是p3,該過程包含兩個(gè)參數(shù),
--一個(gè)是輸入類型的(以IN標(biāo)示),參數(shù)名是nameid,類型是int,
--一個(gè)是輸出類型的(以O(shè)UT標(biāo)示),參數(shù)名是person_name,類型是varchar(10)
--此存儲(chǔ)過程的作用是查詢出zzm表的全部?jī)?nèi)容,會(huì)輸出結(jié)果集(data set),然后
--再查詢表中記錄的ID是nameid的字段name,將其輸出到第二個(gè)輸出類型的參數(shù)里面,這個(gè)查詢
--不會(huì)輸出結(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)
【編輯推薦】