当前位置:文档之家› oracle基础知识考试题-答案

oracle基础知识考试题-答案

oracle基础知识考试题-答案
oracle基础知识考试题-答案

Oracle基础知识考试题

——孙云涛

部门:姓名:成绩:

一.问答题(33个,每题3分,最后一题4分,共100分):1.Oracle安裝完成后的初始口令?

internal/oracle

sys/change_on_install

system/manager

scott/tiger

sysman/oem_temp

2.怎么获取有哪些用户在使用数据库

select username from v$session;

3.数据表中一个表允许的字段最大数是多少?in()操作时集合里最多允许有多少个元素?

都是1000

4.如何在字符串里加回车?

select 'Welcome to visit'||chr(10)||'' from dual ;

5.怎样修改oracel数据库的默认日期?

alter session set nls_date_format='yyyymmddhh24miss';

6.请问如何修改一张表的主键?

alter table aaa drop constraint aaa_key ;alter table aaa add constraint aaa_key primary key(a1,b1) ;

7.如何解决死锁问题:

第一步:

select https://www.doczj.com/doc/8215210369.html,ername,t2.sid,t2.serial#,t2.logon_time,t3.sql_text

from v$locked_object t1,v$session t2,v$sqltext t3

where t1.session_id=t2.sid

and t2.sql_address=t3.address

order by t2.logon_time

第二步:

alter system kill session 'sid,serial#';

8.oarcle 数据库的连接字符是什么?

||

9.查询结果集做和和做差的函数分别是什么?

Union 和 minus

10.返回参数为星期几的sql语句写法: SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;

11.如何删除一个表的重复纪录

D ELET

E FROM TABLE_NAME

WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D

WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

12.列出你所了解oracle的字符函数,个数不限

lower upper initcap concat substr instr

lpad rpad trim length

13.列出你所了解oracle的日期函数,个数不限

add_months months_between

round trunc

next_day last_day

14.列出你所了解oracle的数值函数,个数不限

round trunc mod

15.列出你所了解oracle的组函数,个数不限

avg min max sum count

16.怎样得到一个字符串中字母a的个数?写出一个方法即可:

Select length( ‘abcabcabc’)-length(replace(‘abcabcabc’,’a’,’’) from dual

17.唯一索引和主键的区别是什么?

主键不可以为null,唯一索引可以。

18.列出你所了解到的分析函数,个数不限。

cume_dist() ,dense_rank() ,first_value(),last_value(),rank() ,dense_rank (),row_number()

19.分析函数rank() 和dense_rank ()的区别是什么?

存在查询结果重复时前者跳号,后者不跳号。

20.在查询语句中使用函数是非常方便的,你能否列出一个不利的方面,及其解决办法?

在大量数据上使用函数,在一定程序上会减低查询速度这个时候可以考虑为这些函数建立函数索引

21.在执行delete、update等操作时,要注意什么问题,请列举一个。

注意回滚空间问题。

22.请写一个任意的存储过程。

create or replace procedure aaaa is

sql_str varchar2(200);

begin

sql_str:='select ''abc'' abc,''def'' def from dual';

execute immediate sql_str;

return;

end aaaa;

23.请写一个任意游标。

cursor c_alarm_item is

select alarmname,ruleset,trim(objnamedby) as nestr,trim(reportvalue) as datastr,tablename

from nigeria_ad.pm_alarm_ex where alarmenabled=1;

24.请随意写一个创建触发器的例子。

CREATE OR REPLACE TRIGGER update_job_history

AFTER UPDATE OF job_id, department_id ON employees

FOR EACH ROW

BEGIN

add_job_history(:old.employee_id, :old.hire_date, sysdate,

:old.job_id, :old.department_id);

END;

25.请用sql语句建立一个job,任举一例。

VARIABLE jobdxm number;

begin

dbms_job.submit(:jobdxm,'P_STARTNEMESS;',sysdate,'trunc(sysdate+1)+7/24'); commit;

end;

26.游标的for循环中注意的问题,任举一例。

不需要显式的打开游标,即无需使用open语句

27.存储过程和函数在pl/sql developer里能不能单步调试?

能!

28.写一个游标变量的例子。

type c_table is ref cursor; --第一步

c_maxstartdaystarttime c_table; --第二步

sql_str:='select nvl(max(startday||lpad(starttime,6,''0'')),99990000000000) maxstartdaystarttime from '||v_tablename||

' where startday=(select max(startday) from '||v_tablename||' where startday<=to_char(sysdate,'||'''yyyymmdd'''||'))';

open c_maxstartdaystarttime for sql_str; --第三步

loop

fetch c_maxstartdaystarttime into table_maxstartdaystarttime;

exit when c_maxstartdaystarttime%notfound;

end loop;

close c_maxstartdaystarttime;

29.写一个带参数的游标的例子。

CURSOR Cur_listsql(ck_startday p_startday%TYPE, ck_endday p_startday%TYPE) IS

select tablename, blockname, h_tab, h_idname, condition, h_tabtype, blockdsp

from h_check

where state = 1

30.通过字典表把数据表的所有表名和列名查询出来。

select table_name,column_name from user_col_comments

31.列出使用视图的两个重要作用。

简化查询、屏蔽敏感数据

32.Oracle里的通配字符是什么?用哪个关键字定义自己的通配字符?

%和_ 用escape

33.写一个用imp命令导入数据和用exp导出数据的例子。

Imp username/password@sid log=c:/xyzimp.log fromuser=fromusername touser=tousername Exp username/password@sid log=c:/xyzimp.log

相关主题
文本预览
相关文档 最新文档