MYSQL 建立儲存過程

2021-08-19 15:37:36 字數 1353 閱讀 2216

##無引數儲存過程

delimiter //

create procedure myfist_proc() ## 建立儲存過程

begin 

select stu_id from score where grade>80 and c_name='計算機';

select name from student where id in 

(select stu_id from(select * from score where grade>80 and c_name='計算機')a 

where a.stu_id in(select stu_id from score where grade>80 and c_name='英語'));

end;//

delimiter;

show create procedure myfist_proc();

call myfist_proc();

##帶有輸出引數的儲存過程

delimiter //

create procedure mysecond_proc(out sumstudent int ) ## 建立儲存過程

begin 

select count(*) into sumstudent from score where grade>80;

end;//

delimiter;

call mysecond_proc(@sumstudent);

select @sumstudent;

##帶有輸入引數的儲存過程

delimiter //

create procedure mythird_proc(in minscore int ) ## 建立儲存過程

begin 

select count(*) from score where grade>minscore;

end;//

delimiter;

call mythird_proc(90); 大於90的

select @sumstudent;

##帶有輸入輸出引數的儲存過程

delimiter //

create procedure myfourth_proc(in minscore int,out sumstudent int ) ## 建立儲存過程

begin 

select count(*) into sumstudent from score where grade>minscore;

end;//

delimiter;

call myfourth_proc(90,@sumstudent);

select @sumstudent;

MySQL建立儲存過程

在開發過程中,經常會遇到重複使用某乙個功能的情況,為此,mysql引入了儲存過程 儲存過程 就是一條或多條sql語句的集合,當對資料庫進行一系列複雜操作時,儲存過程可以將這些複雜操縱,封裝成乙個 塊,以便重複使用,大大減少資料庫開發人員的工作量 使用create procedure語句 create...

mysql建立儲存過程

坑一 mysql建立儲存過程中,儲存過程的輸入引數變數命名不應該與欄位名相同。如果相同,導致的結果就是引數的值將不會是你傳入的值,而是變成每條記錄的那個欄位的值。如果在刪除操作時,將會刪除整張表的記錄,是非常危險的。刪除儲存過程 drop procedure if exists pro test 建...

MySQL 建立儲存過程

mysql 版本 5.0.45 p hpmyadmin 版本 2.11.3 首先看 mysql 5.0 參考手冊中關於建立儲存過程的語法說明 create definer proceduresp name proc parameter characteristic.routine body proc...