mysql 建立儲存過程
一、儲存過程的建立和呼叫
儲存過程就是具有名字的一段**,用來完成乙個特定的功能。
建立的儲存過程儲存在資料庫的資料字典中。
1.建立
– create procedure 儲存過程名(引數1,引數2,·····)
–儲存過程開始和結束符號:begin … end
create procedure add_matches(in matcheno integer,in teamno integer,in playerno integer,in won integer,in lost integer)
begin
insert into matches values(matcheno,teamno,playerno,won,lost);
end2.呼叫儲存過程
–變數賦值:set @matcheno =1 ;用@符宣告變數
set @matcheno=4;
set @teamno=4;
set @playerno=4;
set @won=4;
set @lost=4;
call add_matches(@matcheno,@teamno,@playerno,@won,@lost);
3.查詢儲存過程
1)查詢全部儲存過程:show procedure status;
2)查詢單個儲存過程:show procedure status like 『add_matches』;
4.刪除儲存過程
drop procedure add_matches;
二.儲存過程的引數
mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout,形式如:
create procedure 儲存過程名([[in |out |inout ] 引數名 資料類形…])
in 輸入引數:表示呼叫者向過程傳入值(傳入值可以是字面量或變數)
out 輸出引數:表示過程向呼叫者傳出值(可以返回多個值)(傳出值只能是變數)
inout 輸入輸出引數:既表示呼叫者向過程傳入值,又表示過程向呼叫者傳出值(值只能是變數)
三、mysql儲存過程的控制語句
1) if-then-else 語句:
create procedure add_matches(in type integer,in matcheno integer)
begin
if type =0 then
delete from matches where matcheno=matcheno ;
else
select * from matches where matcheno=matcheno;
end2)case語句:
create procedure add_matches(in type integer,in matcheno integer)
begin
set var=type;
case var
when 0 then
delete from matches where matcheno=matcheno ;
when 1 then
select * from matches where matcheno=matcheno;
else
select * from matches where matcheno=matcheno;
end case;
end
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 建...