欢迎来到天天文库
浏览记录
ID:39239796
大小:368.50 KB
页数:26页
时间:2019-06-28
《实验6PLSQL程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档实验6PL/SQL程序设计1实验目的(1)掌握PL/SQL程序开发方法。(2)掌握存储过程、函数、触发器、包的创建于调用。2实验要求(1)根据图书销售系统业务要求创建特定的存储过程、函数、触发器。(2)根据图书销售系统业务要求将图书销售系统相关的函数、存储过程封装到包里。3实验步骤以bs用户登录BOOKSALES数据库,利用PL/SQL程序编写下列功能模块。(1)创建一个存储过程,输出不同类型图书的数量、平均价格。SQL>createorreplaceprocedureproc_category_static2as3--定义游标,获取当前有哪些图书种类标准文案实用文档4cursorc_
2、all_categoryisselectdistinctcategoryfrombooks;5--图书的平均价格6v_avg_costnumber;7begin8--保存图书种类9forv_each_categoryinc_all_categoryLOOP10selectavg(retail)intov_avg_costfrombookswherecategory=v_each_category.categorygroupbycategory;11dbms_output.put_line('种类为:'
3、
4、v_each_category.category
5、
6、',平均价格为:'
7、
8、v_avg_co
9、st);12ENDLOOP;13endproc_category_static;14/(1)创建一个存储过程,以客户号为参数,输出该客户订购的所有图书的名称与数量。createorreplaceprocedureproc_get_orderinfo(2p_customer_idcustomers.customer_id%type)标准文案实用文档3as4--声明游标存储客户的订单号5cursorc_orderidisselectorder_idfromorderswherecustomer_id=p_customer_id;6v_orderidorders.order_id%type;7--声
10、明游标存储订单信息8cursorc_orderitemisselectISBN,sum(quantity)totalnumfromorderitemwhereorder_id=v_orderidgroupbyISBN;9--保存图书的书名10v_titlebooks.title%type;1112begin13openc_orderid;14LOOP15fetchc_orderidintov_orderid;16exitwhenc_orderid%NOTFOUND;17forv_orderiteminc_orderitemLOOP18selecttitleintov_titlefrombook
11、swhereISBN=v_orderitem.ISBN;19DBMS_OUTPUT.PUT_LINE(p_customer_id
12、
13、'订购'
14、
15、v_title
16、
17、'的数量是'
18、
19、v_orderitem.totalnum);20endLOOP;21endLOOP;22closec_orderid;23endproc_get_orderinfo;24/execproc_get_orderinfoo(1001);标准文案实用文档(1)创建一个存储过程,以订单号为参数,输出该订单中所有图书的名称、单价、数量。createorreplaceprocedureproc_get_orderinfoo(p_o
20、rder_idorderitem.order_id%type)as--声明游标存储订单号的ISBNcursorc_ISBNisselectISBNfromorderitemwhereorder_id=p_order_id;v_ISBNorderitem.ISBN%type;--声明游标存储订单信息cursorc_orderitemisselectISBN,sum(quantity)totalnumfromorderitemwhereISBN=v_ISBN;v_titlebooks.title%type;v_retailbooks.retail%type;beginopenc_ISBN;标准文案
21、实用文档LOOPfetchc_ISBNintov_ISBN;exitwhenc_ISBN%NOTFOUND;forv_orderiteminc_orderitemLOOPselecttitle,retailintov_title,v_retailfrombookswhereISBN=v_orderitem.ISBN;DBMS_OUTPUT.PUT_LINE(p_order_id
22、
23、v_title
24、
此文档下载收益归作者所有