儲存過程 儲存過程及函式例項

2021-10-25 12:30:22 字數 1926 閱讀 3942

儲存過程及函式例項練習(一)

(1)建立儲存過程food_price_count。

(2)使用call語句來呼叫儲存過程。查詢**在2~18之間的食品種數。

(3)使用select語句檢視結果。

(4)使用drop語句刪除儲存過程food_price_count。

可以通過,show procedure status like 『儲存過程名』;語句檢視儲存過程是否刪除

(5)建立儲存函式

儲存函式只能返回乙個值,所以只實現了計算滿足條件的食品種數。呼叫儲存函式和呼叫mysql內部函式的方式是一樣的。

刪除儲存函式

drop function food_price_count1;

儲存過程及函式例項練習(二)

將在teacher表上建立名teache_info1的儲存過程和名為teache_info2的儲存函式。

儲存過程teacher_info1的要求:

儲存過程teacher_info1有3個引數。輸入引數為teacher_id和type,輸出引數為info。儲存過程的作用是根據編號(teacher_id)來查詢teacher表中的記錄。如果type的值為1時,將姓名(name)傳輸出引數info;如果type的值為2時,將年齡傳給輸出引數info;如果type為其他值,則返回字串error。

(1)建立儲存過程

(2)呼叫儲存過程,teacher_id為2,type為1。

call teacher_info1(2,1,@info);

(3)使用select語句查詢輸出值

(4)刪除儲存過程

drop procedure teacher_info1;

儲存函式teacher_info2的要求:

儲存過程teacher_info2有兩個引數。這兩個引數為teacher_id和type。儲存函式的作用是根據編號(teacher_id)來查詢teacher表中的記錄。如果type的值是1時,則返回姓名(name)值;如果type的值是2時,則返回年齡;如果type為其他值,則返回字串」error」;

(1)建立儲存函式

(2)使用select語句呼叫儲存函式。

(3)使用drop function語句來刪除儲存函式

drop function teacher_info2;

檢視一下儲存函式是否還存在

儲存過程例項及函式相關

獲取在指定系中選修某一門課程的學生基本資訊和成績,並按成績降序排列 create proc stu grade sdept varchar 50 cname varchar 10 asselect student.sno 學號,student.sname 姓名,student.sgentle 性別,...

儲存過程語法及例項

一般儲存過程的格式 create or replace procedure 儲存過程名 param1 in type,param2 out type as變數1 型別 值範圍 變數2 型別 值範圍 begin 語句塊exception 異常處理 when others then rollback e...

儲存過程例項

首先查詢,如果有則更新,如果沒有則新增。create proc sp drugstockrecord drugid int,department varchar 500 batchnum varchar 500 amount float,stocktime datetime,producedate ...