引用:
下文將教您如何建立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引入了儲存過程 儲存過程 就是一條或多條sql語句的集合,當對資料庫進行一系列複雜操作時,儲存過程可以將這些複雜操縱,封裝成乙個 塊,以便重複使用,大大減少資料庫開發人員的工作量 使用create procedure語句 create...
MYSQL 建立儲存過程
無引數儲存過程 delimiter create procedure myfist proc 建立儲存過程 begin select stu id from score where grade 80 and c name 計算機 select name from student where id i...
mysql建立儲存過程
坑一 mysql建立儲存過程中,儲存過程的輸入引數變數命名不應該與欄位名相同。如果相同,導致的結果就是引數的值將不會是你傳入的值,而是變成每條記錄的那個欄位的值。如果在刪除操作時,將會刪除整張表的記錄,是非常危險的。刪除儲存過程 drop procedure if exists pro test 建...