概念類似於函數,就是把一段代碼封裝起來。當要行這段代碼的時候,可以通過調用該存儲過程來實現。在封裝的語句體裡面,可以用if/else,case,while等控制語句可以進行sql編程
2.1、查看現有的存儲過程
2.2創建存儲過程
a、無參數的存儲過程
delimiter //
create procedure p1()
begin
select count(*) from goods;
end //
調用存儲過程p1()
b、帶參數的存儲過程(參數用於保存運行結果)
delimiter //
create procedure p2(out a int)
begin
select count(*) into a from goods;
end //
delimiter ;
調用存儲過程p2
(備注: 定義變量a來保持存儲過程p2的結果,然後再顯示變量a的值)
c、帶參數的存儲過程(參數用於運行)
delimiter //
create procedure p3(in a int)
begin
select goods_id,goods_name,shop_price from goods where goods_id=a;
end //
delimiter ;
調用存儲過程p3
d、帶有if/else的存儲過程
調用
e、帶有while的存儲過程
2.3、刪除存儲過程
總結: 在mysql中,存儲過程和函數的區別
a、名稱不同
b、存儲過程沒有返回值