儲存過程 procedure

2021-08-21 21:27:01 字數 1782 閱讀 3108

mysql資料庫在5.0版本後開始支援儲存過程,那麼什麼是儲存過程呢?怎麼建立、檢視和刪除儲存過程呢?儲存過程有什麼優點?

1.概念:什麼是儲存過程:類似於函式(方法),簡單的說儲存過程是為了完成某個資料庫中的特定功能而編寫的語句集合,該語句集包括sql語句(對資料的增刪改查)、條件語句和迴圈語句等。

2. 檢視現有的儲存過程

1 show procedure status;
3 .刪除儲存過程

1 drop procedure 儲存過程名稱;
4. 呼叫 儲存過程

1 call 儲存過程名稱(引數1  引數1型別,引數2  引數2型別);
5.建立儲存過程

1 1#體會封裝

2 create procedure p1 ()

3 begin

4 select * from account;

5

6 end

1 2#sql 體會引數

2 create procedure p2(in m int)

3 begin

4 select * from account where money > m;

5 end

1 #sql 體會控制

2 create procedure p3(in x int,in c char(1))

3 4 begin

5 6 if c ='d' then

7

8 select * from account where money >x;

9 10 else

11

12 select * from account where money

#體會迴圈:計算1-100累加的和,並且返回計算結果.

create procedure p4(inout n int)

begin

declare sum int default 0; -- 設定總和變數,並且指定初始值0

declare i int; -- 宣告變數

set i = 0; -- 通過set為變數設定值

while i<=n do -- 開始迴圈

set sum = sum +i;

set i = i+1;

end while; -- 結束迴圈

select sum; -- 提供結果

set n = sum;--將計算結果提供給 輸出變數 n;

end;

-- 呼叫:

set @n = 100;

call p4(@n);

select @n;

儲存過程優點

1、儲存過程增強了sql語言靈活性。儲存過程可以使用控制語句編寫,可以完成複雜的判斷和較複雜的運算,有很強的靈活性;

2、減少網路流量,降低了網路負載。儲存過程在資料庫伺服器端建立成功後,只需要呼叫該儲存過程即可,而傳統的做法是每次都將大量的sql語句通過網路傳送至資料庫伺服器端然後再執行;

3、儲存過程只在創造時進行編譯,以後每次執行儲存過程都不需再重新編譯,而一般sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。

4、系統管理員通過設定某一儲存過程的許可權實現對相應的資料的訪問許可權的限制,避免了非授權使用者對資料的訪問,保證了資料的安全。

50 7 儲存過程 PROCEDURE

儲存過程沒有返回資料,需使用call proc 呼叫 create definer neo procedure angelfund in puid varchar 50 in ptime datetime language sql not deterministic contains sql sql...

SQL 建立儲存過程PROCEDURE

1 建立儲存過程 use test2 gocreate procedure fruitproce 檢視表fruits的儲存過程 asselect from fruits go use test2 go create procedure countproce 獲取表fruits的記錄數 asselec...

MySQL 建立儲存過程(PROCEDURE)

建立乙個儲存過程模板 drop procedure if exists proc module 先刪除即將要建立儲存過程,需要校驗是否存在,否則會報錯 delimiter 修改結束符,因為儲存過程中會使用 作為結束符 建立儲存過程,引數分in out inout三類 in是輸入引數,可以有多個 ou...