前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >两道简单的oracle题目(r5笔记第91天)

两道简单的oracle题目(r5笔记第91天)

作者头像
jeanron100
发布2018-03-16 11:46:28
4460
发布2018-03-16 11:46:28
举报

最近一个朋友想让我帮他一个忙,看似是一个很简单的小忙,就是出两道l题,一道可以难一些,可以通过这道题看出一个开发人员的数据库水平,sql或者pl/sql都可以,另外一道题需要是一道sql题,可以通过这个题目看出开发人员的sql水平。 问题很简单,但是要求不简单,而且通过这两个题目着实能够反映得了出题者的水平,所以自己也是斟酌再三,一直没有定下来这两道题。 首先这两道题是面向开发人员的,所以涉及到oracle中体系结构中比较细节的东西也是不太适用的,尽管tom还是一贯希望开发人员能够尽可能多的熟悉数据库体系结构,但是从我目前的了解来说,开发人员还是更多的把数据库当做一个黑盒来使用,可能参与一些大型数据分析工作的人来生活,sql水平要高不少,但是可能更倾向于sql语句调优,这个时候和索引还是有很大的关联,对于出题来说,可能面也有点大,所以斟酌再三,还是出了下面的这道题,是关于pl/sql的,但是和开发联系还是比较紧密的。 选出下面的可能存在性能问题的Pl/sql 块。 1) declare cursor test_cur is select object_id,object_name from t ; begin for i in test_cur loop execute immediate 'insert into t values(:a,:b)' using i.object_id,i.object_name; end loop; commit; end; / 2) declare cursor test_cur is select object_id,object_name from t ; begin for i in test_cur loop execute immediate 'insert into t values('||i.object_id||','||chr(39)||i.object_name||chr(39)||')'; end loop; commit; end; / 3) declare cursor test_cur is select object_id,object_name from t ; begin for i in test_cur loop insert into t values(i.object_id,i.object_name); end loop; commit; end; / 4) begin for i in (select object_id,object_name from t) loop execute immediate 'insert into t values(:a,:b)' using i.object_id,i.object_name; end loop; commit; end; /

这个题目的主要意图就是希望在写pl/sql的时候能够考虑到绑定变量的值,对于sql语句的软解析,硬解析的一些东西 ,这些方式可能在平时的工作都会涉及到,但是很可能自己没有注意到其实有些pl/sql块还是存在着很明显的性能问题。 这道题目的答案是2 第二道题,是能够从sql语句看出对方的水平来,自己也是斟酌再三,发现还是以一道比较简单的题目来考察一下。 对于下面的sql语句,sql语句在解析的时候的顺序是? (1)Select empno,deptno (2)from emp (3)where deptno=1001 (4)group by deptno (5)order by empno, A. 1,2,3,4,5. B. 2,3,4,1,5 C 5,4,3,2,1 D 2,3,4,5,1

通过这个问题可以看出大家对于一个简单的sql语句的理解。可以看出哪些操作在前,哪些在后,通过这个也能间接反映出对于sql的理解,这个题目的答案为B 大家有什么好的建议可以给我留言,也欢迎大家拍砖交流。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档