实验6 PLSQL程序设计.doc

实验6 PLSQL程序设计.doc

ID:57145405

大小:426.50 KB

页数:28页

时间:2020-08-03

实验6  PLSQL程序设计.doc_第1页
实验6  PLSQL程序设计.doc_第2页
实验6  PLSQL程序设计.doc_第3页
实验6  PLSQL程序设计.doc_第4页
实验6  PLSQL程序设计.doc_第5页
资源描述:

《实验6 PLSQL程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验6PL/SQL程序设计1实验目的(1)掌握PL/SQL程序开发方法。(2)掌握存储过程、函数、触发器、包的创建于调用。2实验要求(1)根据图书销售系统业务要求创建特定的存储过程、函数、触发器。(2)根据图书销售系统业务要求将图书销售系统相关的函数、存储过程封装到包里。3实验步骤以bs用户登录BOOKSALES数据库,利用PL/SQL程序编写下列功能模块。(1)创建一个存储过程,输出不同类型图书的数量、平均价格。SQL>createorreplaceprocedureproc_category_static2as3--定义游标,获取当前有哪些图书种类4curso

2、rc_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、

9、v_avg_cost);12ENDLOOP;13endproc_category_static;14/(1)创建一个存储过程,以客户号为参数,输出该客户订购的所有图书的名称与数量。createorreplaceprocedureproc_get_orderinfo(2p_customer_idcustomers.customer_id%type)3as4--声明游标存储客户的订单号5cursorc_orderidisselectorder_idfromorderswherecustomer_id=p_customer_id;6v_orderid

10、orders.order_id%type;7--声明游标存储订单信息8cursorc_orderitemisselectISBN,sum(quantity)totalnumfromorderitemwhereorder_id=v_orderidgroupbyISBN;9--保存图书的书名10v_titlebooks.title%type;1112begin13openc_orderid;14LOOP15fetchc_orderidintov_orderid;16exitwhenc_orderid%NOTFOUND;17forv_orderiteminc_order

11、itemLOOP18selecttitleintov_titlefrombookswhereISBN=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)创建一个存储过程,以订单号为参数,输出该订单中所有图书的名称、单价、数量。

20、createorreplaceprocedureproc_get_orderinfoo(p_order_idorderitem.order_id%type)as--声明游标存储订单号的ISBNcursorc_ISBNisselectISBNfromorderitemwhereorder_id=p_order_id;v_ISBNorderitem.ISBN%type;--声明游标存储订单信息cursorc_orderitemisselectISBN,sum(quantity)totalnumfromorderitemwhereISBN=v_ISBN;v_titleb

21、ooks.title%type;v_retailbooks.retail%type;beginopenc_ISBN;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、

25、v_retail

26、

27、v_orderitem.totalnum

28、);end

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。