ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:934.73KB ,
资源ID:11462723      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11462723.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle程序员面试分类模拟9.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle程序员面试分类模拟9.docx

1、Oracle程序员面试分类模拟9Oracle程序员面试分类模拟9简答题1. 如何判断个存储过程是否正在运行?答案:有两种方式可以判断一个存储过程是否正在运行,其查询SQL语句分别如下,若有结果返回,则说明存储过程正在运行。 方法1: 方法2: 2. 如何将文本文件或Excel中的数据导入数据库?答案:有多种方式可以将文本文件的数据导入到数据库中,例如,利用PLSQL Developer软件进行复制粘贴,利用外部表,利用SQL*Loader等方式。至于Excel中的数据可以另存为csv文件(csv文件其实是逗号分隔的文本文件),然后导入到数据库中。 下面简单介绍一下SQL*Loader的使用方式

2、。 SQL*Loader是一个Oracle工具,能够将数据从外部数据文件装载到数据库中。SQL*Loader必须包含一个控制文件,该控制文件是SQL*Loader的中枢核心,控制文件能够控制外部数据文件中的数据如何映射到Oracle的表和列。通常与SPOOL导出文本数据方法配合使用。SQL*Loader能够接收多种不同格式的数据文件。文件可以存储在磁盘或磁带上,或记录本身可以被嵌套到控制文件中。记录格式可以是定长的或变长的,定长记录是指这样的记录:每条记录具有相同的固定长度,并且每条记录中的数据域也具有相同的固定长度、数据类型和位置。 SQL*Loader的数据导入比较专业,有各种参数及选项可

3、供选择,经常是作为数据仓库中大型数据的导入方法选择。 SQL*Loader的优点: 1)可将导入命令写入BAT文件直接批量处理。 2)导入处理比较专业,提供各种参数选择。 3)无需操作Oracle所在服务器。 SQL*Loader也有缺点,例如,Excel文件需要另存为txt或csv格式才能导入到数据库中。 总的来说这种方法是最值得采用的,可以自动建立操作系统的批处理文件执行SQL*Loader命令,将数据导入原始接收表,并在数据库中设置触发器进行精细操作。 SQL*Loader有两种使用方法: 1)只使用一个控制文件,在这个控制文件中包含数据。 2)使用一个控制文件和一个数据文件。 SQL*

4、Loader工具使用的命令为sqlldr,其常用参数的含义见表1。 下面给出SQL*Loader控制文件的一个示例: 其中,CHARACTERSET指定文件的编码格式,infile指定导入的文件。 接下来就是执行导入命令了,如下: 当要加载的数据文件比较大的时候该如何提高SQL*Loader的性能呢?可以从以下几个方面考虑: 1)ROWS的默认值为64,可以根据需要指定更合适的ROWS参数来指定每次提交记录数。 2)米用DIRECT=TRUE导入可以跳过数据库的相关逻辑,直接将数据导入到数据文件中,可以提高导入数据的性能。 3)通过指定UNRECOVERABLE选项,可以写少量的日志,从而提高

5、数据加载的性能。不过,推荐在加载完成后立即对数据库或至少对表空间备份。 当加载大量数据时,最好抑制日志的产生: 将表修改为NOLOGGING,可以只产生少量的Redo日志,从而提高导入效率。在CONTROL文件中的load data前边加一行:UNRECOVERABLE,此选项必须要与DIRECT共同使用。对于超大数据文件的导入就要用并发操作了,即同时运行多个导入任务: 表2给出在使用SQL*Loader的过程中,一些常用的需求实现方法。 表3给出了在使用SQL*Loader的过程中,常遇到的错误及其解决方法。 关于SQL*Loader还有很多参数本书不再详述,具体可以参考官方文档。有关如何导

6、出数据到Excel中,本书也不再详述。 3. 什么是Quote(q)语法?答案:在SQL查询中,会经常需要原样输出字符串,如果字符串中含有大量的单引号、双引号或者特殊字符,那么需要用单引号转义拼接字符串,这样会非常的麻烦。所以,Oracle提供了一个Q-quote的表达式来原样输出字符串。 需要注意以下几点: 1)Q-quote定界符可以是除了TAB、空格、回车外的任何单字节或多字节字符,包括数字、字母、特殊字符。但&不能作为分隔符,因为&意思是传入参数。 2)Q后跟起始分隔符,起始分隔符后的字符串原样输出,起始分隔符必须有配对的结束分隔符。、(、作为分隔符,必须以、)、结束。 4. 怎么捕获

7、用户登录信息,如SID,IP地址等?答案:可以利用登录触发器来实现。5. 怎么捕获整个数据库的DDL语句或者是说捕获对象结构变化与修改?答案:可以采用DDL触发器进行捕获。6. 怎么捕获表上的DML语句?答案:可以采用DML触发器进行捕获。7. 如何实现分组取前3条记录?答案:可以利用分析函数,如获取每个部门薪水前三名的员工或每个班成绩前三名的学生,如下: 8. 如何把相邻记录合并到一条记录?答案:可以利用分析函数LAG与LEAD,它们可以提取后一条或前一天记录到本记录,如下: 9. 怎么设置存储过程的调用者权限?答案:普通存储过程都是定义者权限,如果想设置调用者权限,那么需要声明“AUTHI

8、D CURRENT_USER”,参考如下语句: 10. Oracle中有哪些常用的字符函数?答案:常用的有如下几个函数: 1)lower(char):将字符串全部转化为小写的格式。 2)upper(char):将字符串全部转化为大写的格式。 3)initcap(SQL course):每个单词的首字母大写,其余变为小写,结果:Sql Course。 4)concat(Hello,World):字符串连接,结果:Hello World。 5)length(char):返回字符串的长度。 6)substr(char,m,n):取字符串的子串,m表示起点,n代表取n个字符的意思。 7)replace

9、(char1,search_string,replace_string):替换函数。 8)instr(char1,char2,n,m):取子串在字符串的位置,特别取某一个特殊字符在原字符串中的位置。 9)trim( Hello World ):前后去掉空格,结果为:“Hello world”。 10)ltrim( Hello World ):左边去掉空格,结果为:“Hello World ”。 11)rtrim( Hello World ):右边去掉空格,结果为:“Hello World”。 12)lpad(salary,10,*):左补齐,结果:*24000。 13)rpad(salary,

10、10,*):右补齐,结果:24000*。 14)chr():将ASCII码转换为字符。 15)ascii():将字符转换为ASCII码。 11. 如何查看存储过程的编译错误?答案:在存储过程编译完成后使用SHOW ERROR命令即可查看。12. 如果查询的列中含有特殊字符,如通配符“%”与“_”,那么该如何查询这些特殊字符?答案:利用ESCAPE来查询,如下: 13. 如何插入单引号到数据库表中?答案:可以用ASCII码处理,其他特殊字符如&也一样,如下: 或者用两个单引号表示一个: 14. 十进制与十六进制如何转换?答案:十进制转换为十六进制用TO_CHAR: 十六进制转换为十进制用TO_N

11、UMBER: 15. 如何随机抽取表SCOTT.EMP的前5条记录?答案:使用SYS_GUID或DBMS_RANDOM.VALUE函数,如下: 16. 如何抽取重复记录?答案:使用ROWID来查询,如下例找出ID重复的记录: 或者,下例找出COL_A和COL_B列重复的记录: 如果想删除重复记录,可以把第一个语句的SELECT替换为DELETE。 17. 怎么快速获得用户下每个表或表分区的记录数?答案:可以分析该用户,然后查询USER_TABLES字典,或者采用脚本实现。18. SYS_CONTEXT和USERENV的用法是什么?它们可以返回哪些常用的值?答案:SYS_CONTEXT函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定NAMESPACE下的PARAMETER值。该函数可以在SQL和PL/SQL语言中使用,常用的扳回信如下: USERENV函数用来返回当前的会话信息,常用的有如下信息:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1