《数据库系统实训》实验报告——存储过程
存儲過程
第一部分:樣例庫的應用
1) Creating Stored Procedures(創建存儲過程)SQL語句描述:
create procedure productpricing( ) beginselect avg(prod_price) as priceaveragefrom products; end;功能描述:將查詢產品平均價格存儲為過程productpricing
執行結果截圖:
2)Executing Stored Procedures(調用過程)
SQL語句描述:
CALL productpricing();功能描述:調用過程,即查詢產品平均價格
執行結果截圖:
3)Dropping Stored Procedures(刪除過程)
SQL語句描述:
DROP PROCEDURE productpricing;功能描述:刪除過程
執行結果截圖:
4)Working with Parameters(帶參的存儲過程)
4.1)帶輸出參數:
SQL語句描述:
create procedure productpricing(out pl decimal(8,2),out ph decimal(8,2),out pa decimal(8,2) ) beginselect min(prod_price)into plfrom products;select max(prod_price)into phfrom products;select avg(prod_price)into pafrom products; end ;功能描述:分別返回產品的最高、最低、平均價格,并存入三個變量中
執行結果截圖:
??????
創建成功后,查詢結果如下
CALL productpricing(@pricelow,@pricehigh,@priceaverage) ;SELECT @pricelow,@pricehigh,@priceaverage;4.2)帶輸入輸出參數:
SQL語句描述:
create procedure ordertotal(in onumber int,out ototal decimal(8,2) ) beginselect sum(item_price*quantity)from orderitemswhere order_num = onumberinto ototal; end ;功能描述:求出某特定訂單號的總金額
執行結果截圖:
創建成功后,查詢結果如下
CALL ordertotal(20005, @total);SELECT @total;5)Building Intelligent Stored Procedures(創建智能存儲過程)
SQL語句描述:
create procedure ordertotal(in onumber int,in taxable boolean,out ototal decimal(8,2) ) begin-- declare variable for totaldeclare total decimal(8,2);-- declare tax percentagedeclare taxrate int default 6;-- get the order totalselect sum(item_price*quantity)from orderitemswhere order_num = onumberinto total;-- is this taxable?if taxable then-- yes, so add taxrate to the totalselect total+(total/100*taxrate) into total;end if;-- and finally, save to out variableselect total into ototal; end;功能描述:求是否含稅的給定訂單總金額
執行結果截圖:
下圖查詢訂單為20005號,且不含稅的訂單總金額。
下圖查詢訂單為20005號,且含稅的訂單總金額。
6) Inspecting Stored Procedures(檢查存儲過程)
6.1)
SQL語句描述:
SHOW CREATE PROCEDURE ordertotal;功能描述:顯示用于創建一個存儲過程ordertotal的CREATE語句,即定義語句的本身
執行結果截圖:
6.2)
SQL語句描述:
SHOW PROCEDURE STATUS LIKE 'ordertotal' ;功能描述:獲得當前數據庫中包括何時、何人創建等詳細信息的存儲過程列表,使用like關鍵字限制或指定一個過濾模式。
執行結果截圖:
第二部分:所選課題數據庫的應用
1) Creating Stored Procedures(創建存儲過程)
SQL語句描述:
create procedure goodsnum() beginselect count(*) as num from goods; end;功能描述:查詢商品個數
執行結果截圖:
2)Executing Stored Procedures(調用過程)
SQL語句描述:
CALL goodsnum ();功能描述:調用過程,即查詢商品個數
執行結果截圖:
3)Dropping Stored Procedures(刪除過程)
SQL語句描述:
DROP PROCEDURE goodsnum;功能描述:刪除過程
執行結果截圖:
4)Working with Parameters(帶參的存儲過程)
SQL語句描述:
create procedure goodsnum(in gid int,out dnum int(11) ) beginselect goods_stockfrom goodswhere id = gidinto dnum; end;功能描述:查詢某商品數量
執行結果截圖:
創建成功后,查詢結果如下
5) Inspecting Stored Procedures(檢查存儲過程)
SQL語句描述:
SHOW CREATE PROCEDURE goodsnum;功能描述:顯示用于創建一個存儲過程goodsnum的CREATE語句,即定義語句的本身
執行結果截圖:
?
參考文章
總結
以上是生活随笔為你收集整理的《数据库系统实训》实验报告——存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕老毛子(Padavan)——Ngro
- 下一篇: 《数据库系统实训》实验报告——游标