《数据库系统实训》实验报告——存储过程
存儲(chǔ)過(guò)程
第一部分:樣例庫(kù)的應(yīng)用
1) Creating Stored Procedures(創(chuàng)建存儲(chǔ)過(guò)程)SQL語(yǔ)句描述:
create procedure productpricing( ) beginselect avg(prod_price) as priceaveragefrom products; end;功能描述:將查詢(xún)產(chǎn)品平均價(jià)格存儲(chǔ)為過(guò)程productpricing
執(zhí)行結(jié)果截圖:
2)Executing Stored Procedures(調(diào)用過(guò)程)
SQL語(yǔ)句描述:
CALL productpricing();功能描述:調(diào)用過(guò)程,即查詢(xún)產(chǎn)品平均價(jià)格
執(zhí)行結(jié)果截圖:
3)Dropping Stored Procedures(刪除過(guò)程)
SQL語(yǔ)句描述:
DROP PROCEDURE productpricing;功能描述:刪除過(guò)程
執(zhí)行結(jié)果截圖:
4)Working with Parameters(帶參的存儲(chǔ)過(guò)程)
4.1)帶輸出參數(shù):
SQL語(yǔ)句描述:
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 ;功能描述:分別返回產(chǎn)品的最高、最低、平均價(jià)格,并存入三個(gè)變量中
執(zhí)行結(jié)果截圖:
??????
創(chuàng)建成功后,查詢(xún)結(jié)果如下
CALL productpricing(@pricelow,@pricehigh,@priceaverage) ;SELECT @pricelow,@pricehigh,@priceaverage;4.2)帶輸入輸出參數(shù):
SQL語(yǔ)句描述:
create procedure ordertotal(in onumber int,out ototal decimal(8,2) ) beginselect sum(item_price*quantity)from orderitemswhere order_num = onumberinto ototal; end ;功能描述:求出某特定訂單號(hào)的總金額
執(zhí)行結(jié)果截圖:
創(chuàng)建成功后,查詢(xún)結(jié)果如下
CALL ordertotal(20005, @total);SELECT @total;5)Building Intelligent Stored Procedures(創(chuàng)建智能存儲(chǔ)過(guò)程)
SQL語(yǔ)句描述:
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;功能描述:求是否含稅的給定訂單總金額
執(zhí)行結(jié)果截圖:
下圖查詢(xún)訂單為20005號(hào),且不含稅的訂單總金額。
下圖查詢(xún)訂單為20005號(hào),且含稅的訂單總金額。
6) Inspecting Stored Procedures(檢查存儲(chǔ)過(guò)程)
6.1)
SQL語(yǔ)句描述:
SHOW CREATE PROCEDURE ordertotal;功能描述:顯示用于創(chuàng)建一個(gè)存儲(chǔ)過(guò)程ordertotal的CREATE語(yǔ)句,即定義語(yǔ)句的本身
執(zhí)行結(jié)果截圖:
6.2)
SQL語(yǔ)句描述:
SHOW PROCEDURE STATUS LIKE 'ordertotal' ;功能描述:獲得當(dāng)前數(shù)據(jù)庫(kù)中包括何時(shí)、何人創(chuàng)建等詳細(xì)信息的存儲(chǔ)過(guò)程列表,使用like關(guān)鍵字限制或指定一個(gè)過(guò)濾模式。
執(zhí)行結(jié)果截圖:
第二部分:所選課題數(shù)據(jù)庫(kù)的應(yīng)用
1) Creating Stored Procedures(創(chuàng)建存儲(chǔ)過(guò)程)
SQL語(yǔ)句描述:
create procedure goodsnum() beginselect count(*) as num from goods; end;功能描述:查詢(xún)商品個(gè)數(shù)
執(zhí)行結(jié)果截圖:
2)Executing Stored Procedures(調(diào)用過(guò)程)
SQL語(yǔ)句描述:
CALL goodsnum ();功能描述:調(diào)用過(guò)程,即查詢(xún)商品個(gè)數(shù)
執(zhí)行結(jié)果截圖:
3)Dropping Stored Procedures(刪除過(guò)程)
SQL語(yǔ)句描述:
DROP PROCEDURE goodsnum;功能描述:刪除過(guò)程
執(zhí)行結(jié)果截圖:
4)Working with Parameters(帶參的存儲(chǔ)過(guò)程)
SQL語(yǔ)句描述:
create procedure goodsnum(in gid int,out dnum int(11) ) beginselect goods_stockfrom goodswhere id = gidinto dnum; end;功能描述:查詢(xún)某商品數(shù)量
執(zhí)行結(jié)果截圖:
創(chuàng)建成功后,查詢(xún)結(jié)果如下
5) Inspecting Stored Procedures(檢查存儲(chǔ)過(guò)程)
SQL語(yǔ)句描述:
SHOW CREATE PROCEDURE goodsnum;功能描述:顯示用于創(chuàng)建一個(gè)存儲(chǔ)過(guò)程goodsnum的CREATE語(yǔ)句,即定義語(yǔ)句的本身
執(zhí)行結(jié)果截圖:
?
參考文章
總結(jié)
以上是生活随笔為你收集整理的《数据库系统实训》实验报告——存储过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华硕老毛子(Padavan)——Ngro
- 下一篇: 《数据库系统实训》实验报告——游标