1.什麼是預存程序?
一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中,使用者通過指定預存程序的名字並給出參數(如果該預存程序帶有參數)來執行它。
2.預存程序的優點:
1.會使系統運行更加快
2.預存程序是可複用的組件
3.預存程序可以儲存
4.預存程序可以移植
3.預存程序的文法:
Create procedure 預存程序名
Begin
裡面複合陳述式
End
4.我們寫一個最簡單的預存程序
Create procedure pro1()
Begin
select * from teacher;
end
這句話是建立一個叫pro1()的預存程序,作用是查詢teacher表的所用資訊
那麼我們怎麼調用預存程序呢?
Call pro1()
我們就可以顯示teacher表中的所有資訊
5.我們寫一個可以輸入參數的預存程序
Create procedure pro2(in a int) // int代表輸入 a是一個參數, int代表參數的類型
Begin
Set @x=a
End
這樣就是可以了
我們調用的時候,我們可以classpro2(122)
然後我們輸入 select@x就可以了
6.我們可以做一個輸出參數的儲存
CREATE PROCEDURE protest6(OUT a INT) //out代表輸出
BEGIN
DECLARE b INT; //定義一個局部變數,int代表數的類型
SET b=5; //賦值
SET a=b; //賦值
END
我們先調用預存程序
Call protest6(@q) 裡面參數可以隨便定義但是不能少@
接著我們寫 select@q 我們就可以看見 @q=5
CREATE PROCEDURE protest13()
BEGIN
DECLARE a int DEFAULT 6;
INSERT into fish VALUES (a);
SELECT s from fish END
這裡首先你得有一個表叫fish,s是fish表的欄位
然後我們調用預存程序call protest13()我們就可以得到你想要查詢的資料了。