mysql 建立儲存過程

2022-03-27 23:00:34 字數 1772 閱讀 1713

引用:

下文將教您如何建立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 建...