oracle面试题及答案dba_会计笔试题目及答案

(3) 2024-09-13 15:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
oracle面试题及答案dba_会计笔试题目及答案,希望能够帮助你!!!。

79、CASE语句的用法?

Oracle用法很简单:

SELECT last_name, job_id, salary

CASE job_id

WHEN ‘IT_PROG’ THEN 1.10*salary

WHEN ‘ST_CLERK’ THEN 1.15*salary

WHEN ‘SA_REP’ THEN 1.20*salary

ELSE salary END “REVISED_SALARY”

FROM employees

80、 truncate和delete的区别?

1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。

2、TRUNCATE是一个DDL语言而DELETE是DML语句,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。

3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。

4、TRUNCATE不能触发触发器,DELETE会触发触发器。

5、不能授予任何人清空他人的表的权限。

6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

7、不能清空父表。

81、 表空间如何扩展?并用语句写出?

两种扩展方式:

a) 增加数据文件

alter tablespace tablespace_name add datafile ‘’ xxMB

b) 扩展数据文件大小

alter database datafile ‘’ resize newMB

82、 表空间区管理方式?哪种方式现在是推荐使用的?

a) 字典管理方式

extent management dictionary;默认方式

b) 本地管理方式

extent management local[autoallocate/uniform xxmb];

83、 用什么函数获得日期?和日期中的月,日,年

to_char(sysdate,’year’):tow thsound six to_char(sysdate,’yyyy’) :2006

to_char(sysdate,’month’):8月 to_char(sysdate,’mm’):08

to_char(sysdate,’day’):星期4 to_char(sysdate,’dd’):22

84、 分区表的应用?

a) 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行

b) 分区表中的每一个分区为一个段,可各自位于不同的表空间中

c) 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用

85、 谈谈索引的用法及原理?

索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。

86、 存储过程的应用,如何既有输入又有输出?

Create procedure pro_name

(xxxx in/out type;

yyyy in/out/inout type;

) is/as

zzzz type;

begin

sqlpro;

exception

exceptionxxxxx;

commit;

end;

87、 常发生的异常有哪些?

常用预定义例外

CURSOR_ALREADY_OPEN — ORA-06511 SQLCODE = -6511 游标已经打开

DUP_VAL_ON_INDEX — ORA-00001 SQLCODE = -1 违反唯一性约束

INVALID_CURSOR — ORA-01001 SQLCODE = -1001 非法游标操作

INVALID_NUMBER — ORA-01722 SQLCODE = -1722 字符向数字转换失败

LOGIN_DENIED — ORA-01017 SQLCODE = -1017

NO_DATA_FOUND — ORA-01403 SQLCODE = +100 没有找到数据

NOT_LOGGED_ON — ORA-01012 SQLCODE = -1012 没有连接到数据库

PROGRAM_ERROR — ORA-06501 SQLCODE = -6501 内部错误

STORAGE_ERROR — ORA-06500 SQLCODE = -6500

TIMEOUT_ON_RESOURCE — ORA-00051 SQLCODE = -51

TOO_MANY_ROWS — ORA-01422 SQLCODE = -1422 返回多行

TRANSACTION_BACKED_OUT — ORA-00061 SQLCODE = -61

VALUE_ERROR — ORA-06502 SQLCODE = -6502 数值转换错误

ACCESS_INTO_NULL试图为NULL对象的属性赋值

ZERO_DIVIDE — ORA-01476 SQLCODE = -1476 被零除

OTHERS — 其它任何错误的处理

88、 如何使用异常?

在oracle中有三种类型的异常。预定义的异常 非预定义的异常 用户定义的异常 第二种非预定义的异常是与特定的oracle错误关联。并且用PRAGM EXCEPTION_INIT(EXCEPTION_NAME,ERROR_NUMBER)关联一起的。但是到底有什么用啊? 例如:declare dup_primary_key exception; pragma exception_init(dup_primary_key,-1); begin insert into itemfile values(‘i201′,’washer’,'spares’,100,50,250,12,30); exception when dup_primary_key then dbms_output.put_line(‘重复项编号-主键冲突’); end

第一种的使用方法:exception

when 异常名称 then

异常处理代码;

第三种的用法:if 条件 then

raise_application_error(-20000“““`-20999,提示信息);

end if;

89、优化的策略一般包括:

• 内存优化

• 操作系统优化

• 数据存储的优化

• 网络优化等方法

具体到不同的数据库涉及到要调整不同的数据库配置文件、不同的操作系统参数、网络参数等等, 不同的数据库不同

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复