--1)  查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的
--学生编号、学生名称、图书编号、图书名称、借出日期;
select s.stuid, s.stuname, b.bid, b.title, bo.t_timefrom borrow bojoin student s on bo.stuid = s.stuidjoin book b on bo.bid = b.bidwhere bo.t_time between to_date('2007-12-15', 'yyyy-mm-dd') andto_date('2008-01-08', 'yyyy-mm-dd') and s.major = '计算机';--2)  用pl/sql匿名块实现,查询所有借过图书的学生编号、学生名称、专业;(提示:用游标)
declarecursor c_student isselect * from student;cursor c_borrow isselect * from borrow;
begindbms_output.put_line('学生编号  ' || '  学生姓名  ' || '  专业');for v_student in c_student loopfor v_borrow in c_borrow loopif v_student.stuid = v_borrow.stuid thendbms_output.put_line(v_student.stuid || '        ' ||v_student.stuname || '        ' ||v_student.major);exit;end if;end loop;end loop;
end;--3)  查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;
select s.stuname, b.title, bo.t_time, bo.b_timefrom borrow bojoin student s on bo.stuid = s.stuidjoin book b on bo.bid = b.bidwhere b.author = '安意如';--4)   查询目前借书但未归还图书的学生名称及未还图书数量;
--(要求: 未还图书数,用函数实现,并在sql语句中调用)
create or replace type t_borrowlist_object as object(stuid varchar2(20),books number);
create or replace type t_borrowlist_table as table of t_borrowlist_object;create or replace function f_borrowlistreturn t_borrowlist_table is v_rs t_borrowlist_table;
beginselect t_borrowlist_object(s.stuname, count(*)) BULK COLLECTINTO v_rsfrom borrow bojoin student s on bo.stuid = s.stuidjoin book b on bo.bid = b.bidwhere bo.b_time is nullgroup by s.stuname;return v_rs;
end;select * from table(f_borrowlist());--5)用一个存储过程完成还书功能,输入参数为学号和书号,把当前日期作为还书日期。
create or replace function f_rebook(v_stuid student.stuid%type,v_bid   book.bid%type) return varchar2 isPRAGMA AUTONOMOUS_TRANSACTION;v_flag     number;v_borrowid borrow.borrowid%type;v_rs       varchar2(200);
beginselect count(*)INTO v_flagfrom borrowwhere b_time is nulland stuid = v_stuidand bid = v_bid;if v_flag >= 1 thenselect borrowidINTO v_borrowidfrom borrowwhere b_time is nulland stuid = v_stuidand bid = v_bidand rownum <= 1;v_rs := v_stuid || ' 号同学还 ' || v_bid || ' 图书 成功';update borrow set b_time = sysdate where borrowid = v_borrowid;commit;elsev_rs := v_stuid || ' 号同学还 ' || v_bid || ' 图书 失败';end if;return v_rs;
end;select * from borrow;select f_rebook('1001', 'B001') from dual;

2013-11-11 Oracle 课堂测试 练习题 例:BULK COLLECT及return table相关推荐

  1. 非静压模型NHWAVE学习(11)——孤立波爬坡测试算例(Solitary Wave on a Simple Beach)

    NHWAVE孤立波爬坡测试算例(Solitary Wave on a Simple Beach) 测试算例简介 实验设置 与解析解对比的模拟(Analytical Solution) 最大爬升高度的模 ...

  2. oracle中bulk,Oracle数据库之FORALL与BULK COLLECT语句

    1 PL/SQL块的执行过程 当PL/SQL运行时引擎处理一块代码时,它使用PL/SQL引擎来执行过程化的代码,而将SQL语句发送给SQL引擎来执行: SQL引擎执行完毕后,将结果再返回给PL/SQL ...

  3. oracle学习总结三(bulk collect用法)

    通过bulk collect减少loop处理的开销 发表人:logzgh | 发表时间: 2006年五月19日, 10:56 采用bulk collect可以将查询结果一次性地加载到collectio ...

  4. bulk怎么使用oracle,oracle学习之bulk collect用法

    通过bulk collect减少loop处理的开销,使用Bulk Collect提高Oracle查询效率 Oracle8i中首次引入了Bulk Collect特性,该特性可以让我们在PL/SQL中能使 ...

  5. 《Oracle数据库管理与维护实战》——2.11 Oracle数据字典

    本节书摘来自异步社区出版社<Oracle数据库管理与维护实战>一书中的第2章,第2.11节,作者: 何伟娜 , 常建功,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  6. oracle 11g dul,【学习笔记】Oracle DUL 11 兼容Oracle 12C数据库的DUL工具最新版本

    天萃荷净 oracle dul 11 正式发布,迫不及待的下载来测试,现在版本号为dul 11.2.0.0.1,目前只发布了for linux,其他版本估计要等等.期待该版本有引进新功能 1.orac ...

  7. 2013年11月26日 20:26:36 做某香米过程中问题总汇

    个人工作: A.图片编辑界面: ①图片旋转 ②滤镜效果[*] 使用GPU Image开源库,120种滤镜效果,3-4天之内 ③缩放 ④亮度[*] ⑤文字编辑 B.代码方面: ①代码合并 细节点比如一天 ...

  8. OCA读书笔记(11) - 实现Oracle数据库审计

    11 Implementing Oracle Database Auditing 描述DBA对于安全和审计的职责 使能标准的数据库审计 安全审计选项 查看审计信息 维护审计路径 最小权限原则 只在计算 ...

  9. 2013年最后2个月的学习目标(成果)(上次更新2013年11月18日)

    1.2013年11月7日. a.新人毕业-老人跳槽 专栏. 简化标题,调整字体,增加和修改"相关阅读". 增加和修改Tag. b.新人毕业-老人跳槽 专栏. 删除3篇非原创文章. ...

最新文章

  1. 大型电商网站详情页是如何支撑亿级流量访问的?
  2. R语言时间序列(time series)分析实战:霍尔特指数Holt‘s平滑法预测
  3. php文件包含漏洞(input与filter)
  4. 返回对象1(未调用拷贝构造函数)
  5. 微信官方数据披露:哪些文章更受朋友圈欢迎
  6. 深入分析 Javascript 单线程
  7. git配置global信息
  8. 橱柜高度与身高对照表_下一套房子装修,橱柜就照这样打,布局尺寸这么详细,不信不好用...
  9. 简述select语句的完整语法_SQL里的各种语句的完整语法
  10. php中文件读写总结,PHP中文件读写操作
  11. php myflow,WordPress安装使用Flowplayer简易指南
  12. linux重启切换内核,centos7切换启动内核与切换启动模式的讲解
  13. 周志华:AAAI 2019论文提交创纪录,达到7745篇
  14. doc 命令查看帮助
  15. 问题二十五:为什么有时候XnView无法显示PPM图片?
  16. tensorflow Image 解码函数
  17. 一次TypeScript, React, Node, MongoDB的模板式前后端分离开发实践
  18. matlab列主元消去法求逆矩阵,Gauss-Jordan列主元消元法求逆矩阵
  19. PostgreSQL的json和jsonb比较
  20. macbook键盘背光打不开怎么办?如何解决苹果笔记本键盘背光不亮的问题?

热门文章

  1. Qt自定义QML模块
  2. Knapsack Cryptosystem【折半+查找】
  3. 洛谷P2014【树形dp】
  4. Flutter 使用动画播放一组图片
  5. 面向视频的全新AI架构 —— 阿里云智能视觉技术全解
  6. Mysql更改表名大小写不敏感
  7. Part 2: Containers
  8. 优化Android应用内存的若干方法
  9. wordpress for sae建站全过程
  10. Hadoop Mapreduce分区、分组、二次排序过程详解[转]