- 浏览: 507268 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (672)
- 随便写写 (3)
- javascript (16)
- Java exam (58)
- JSP exam (25)
- Servlet exam (25)
- Struts exam (24)
- Spring exam (24)
- Hibernate exam (19)
- EJB exam (25)
- SOA exam (6)
- AJAX exam (25)
- Web开发 exam (25)
- 软件工程 exam (25)
- 项目管理 exam (25)
- .NET exam (23)
- ASP.NET exam (24)
- C# exam (24)
- C++ exam (25)
- C语言 exam (13)
- ASP exam (0)
- PHP exam (0)
- Ruby exam (0)
- Python exam (0)
- Delphi exam (0)
- Linux exam (0)
- UNIX exam (25)
- 数据库 exam (24)
- Oracle exam (25)
- SQL Server exam (20)
- MySQL exam (16)
- Mobile开发 exam (10)
- 嵌入式开发 exam (6)
- 网络安全 exam (0)
- 网络技术 exam (0)
- 综合技术 exam (0)
- HR面试 exam (0)
- 英语面试 exam (0)
- 外企面试 exam (0)
- 软件测试 exam (0)
- QTP exam (0)
- LoadRunner exam (0)
- 网友面经 exam (0)
- 应届生 exam (0)
- 面试指导 exam (0)
- IQ测试 exam (0)
- Flex exam (2)
- uml-ea (1)
最新评论
-
dxking100:
远光没有笔式题的说..
最新远光软件笔试题面试题内容(1) -
heming_way:
谢谢,正在复习软件工程考试呢,呵呵
《软件工程》选择题 -
梅玲达:
可以更详细点吗?
Hibernate中Criteria 和DetachedCriteria的作用是什么? -
buptjian:
学习下,试试看,谢谢啊~
Prototype如何实现页面局部定时刷新? -
bubblegum89:
这个。。。和我笔试时候做的 感觉完全不一样
最新远光软件笔试题面试题内容(3)
考试总分为100分,共8题,时间为1小时。
表结构说明:
create table employee(
id number(10) not null, — 员工工号
salary number(10,2) default 0 not null, — 薪水
name varchar2(24) not null — 姓名
);
1.创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。(10分)
2.写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。(15分)
6.写一个匿名语句块,用于执行函数f_employee,并打印执行该函数的结果。(8分)
7.创建存储过程p_create_emp,用于判断表employee是否存在,如果存在则删除该表。(15分)
8.写一个匿名语句块,用于执行存储过程p_create_emp。(7分)
答案如下:
SQL> create table employee(
2 id number(10) not null, — 员工工号
3 salary number(10,2) default 0 not null, — 薪水
4 name varchar2(24) not null — 姓名
5 );
表已创建。
—第一题答案:
SQL> Create sequence seq_employee increment by 1 start with 1 nomaxvalue nocycle;
序列已创建。
—第二题答案:
SQL> declare i number;
2 begin
3 for i in 1 .. 100
4 loop
5 insert into employee
6 values(seq_employee.nextval,1950+i,'王明'||to_char(i));
7 commit;
8 end loop;
9 end;
10 /
PL/SQL 过程已成功完成。
SQL> select * from employee where rownum<11;
ID SALARY NAME
———- ———- ————————
1 1951 王明1
2 1952 王明2
3 1953 王明3
4 1954 王明4
5 1955 王明5
6 1956 王明6
7 1957 王明7
8 1958 王明8
9 1959 王明9
10 1960 王明10
已选择10行。
3.写一个语句块,在语句块中定义一个显式游标,按id升序排列,打印表employee中前十条数据。(15分)
——-第三题答案:
SQL> declare
2 cursor c is select id,salary,name from(select * from employee order by id) where rownum<11;
3 v_record c%rowtype;
4 begin
5 open c;
6 loop
7 fetch c into v_record;
8 exit when c%notfound;
9 dbms_output.put_line(to_char(v_record.id)||','||to_char(v_record.salary)||','||v_record.name);
10 end loop;
11 close c;
12 end;
13 /
1,1951,王明1
2,1952,王明2
3,1953,王明3
4,1954,王明4
5,1955,王明5
6,1956,王明6
7,1957,王明7
8,1958,王明8
9,1959,王明9
10,1960,王明10
PL/SQL 过程已成功完成。
4.创建存储过程p_employee,输入员工薪水范围,返回员工工号、姓名、薪水结果集,结果集按员工薪水升序排列。(15分)
——-第四题答案
SQL> create or replace procedure p_employee
2 (iminsalary in number,
3 imaxsalary in number)
4 is
5 begin
6 for x in(select id,salary,name from(select * from employee where salary between iminsalary and imaxsalary) order by salary)
7 loop
8 dbms_output.put_line(to_char(x.id)||to_char(x.salary)||x.name);
9 end loop;
10 end;
11 /
过程已创建。
SQL> exec p_employee(2000,2007);
502000王明50
512001王明51
522002王明52
532003王明53
542004王明54
552005王明55
562006王明56
572007王明57
PL/SQL 过程已成功完成。
5.创建函数f_employee实现更新员工薪水的功能,将薪水低于2000且姓wang的员工薪水加5%,其他不变,更新成功则返回0,否则返回1。(15分)
———第五题答案
SQL> create or replace function f_employee return number
is
begin
update employee set salary=salary+salary*0.05 where salary<2000 and name like ‘王%';
commit;
if sql%rowcount=0 then
return 1;
else
return 0;
end if;
end;
/
函数已创建。
—-第六题答案
SQL> declare a number;
2 begin
3 a:=f_employee();
4 dbms_output.put_line(to_char(a));
5 end;
6 /
0
PL/SQL 过程已成功完成。
SQL> select * from employee where salary<2000 and name like ‘王%';
未选定行
SQL> select * from employee where rownum<50;
ID SALARY NAME
———- ———- ————————
1 2048.55 王明1
2 2049.6 王明2
3 2050.65 王明3
4 2051.7 王明4
5 2052.75 王明5
6 2053.8 王明6
7 2054.85 王明7
8 2055.9 王明8
9 2056.95 王明9
10 2058 王明10
11 2059.05 王明11
ID SALARY NAME
———- ———- ————————
12 2060.1 王明12
13 2061.15 王明13
14 2062.2 王明14
15 2063.25 王明15
16 2064.3 王明16
17 2065.35 王明17
18 2066.4 王明18
19 2067.45 王明19
20 2068.5 王明20
21 2069.55 王明21
22 2070.6 王明22
ID SALARY NAME
———- ———- ————————
23 2071.65 王明23
24 2072.7 王明24
25 2073.75 王明25
26 2074.8 王明26
27 2075.85 王明27
28 2076.9 王明28
29 2077.95 王明29
30 2079 王明30
31 2080.05 王明31
32 2081.1 王明32
33 2082.15 王明33
ID SALARY NAME
———- ———- ————————
34 2083.2 王明34
35 2084.25 王明35
36 2085.3 王明36
37 2086.35 王明37
38 2087.4 王明38
39 2088.45 王明39
40 2089.5 王明40
41 2090.55 王明41
42 2091.6 王明42
43 2092.65 王明43
44 2093.7 王明44
ID SALARY NAME
———- ———- ————————
45 2094.75 王明45
46 2095.8 王明46
47 2096.85 王明47
48 2097.9 王明48
49 2098.95 王明49
已选择49行。
—-第七题答案
SQL> create or replace procedure p_create_emp
2 is
3 v_count number;
4 begin
5 select count(*) into v_count from user_tables where table_name='EMPLOYEE';
6 if v_count=0 then
7 return;
8 else
9 execute immediate ‘drop table employee';
10 end if;
11 end;
12 /
过程已创建。
———第八题答案
SQL> exec p_create_emp;
PL/SQL 过程已成功完成。
SQL> select * from employee;
select * from employee
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
表结构说明:
create table employee(
id number(10) not null, — 员工工号
salary number(10,2) default 0 not null, — 薪水
name varchar2(24) not null — 姓名
);
1.创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。(10分)
2.写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。(15分)
6.写一个匿名语句块,用于执行函数f_employee,并打印执行该函数的结果。(8分)
7.创建存储过程p_create_emp,用于判断表employee是否存在,如果存在则删除该表。(15分)
8.写一个匿名语句块,用于执行存储过程p_create_emp。(7分)
答案如下:
SQL> create table employee(
2 id number(10) not null, — 员工工号
3 salary number(10,2) default 0 not null, — 薪水
4 name varchar2(24) not null — 姓名
5 );
表已创建。
—第一题答案:
SQL> Create sequence seq_employee increment by 1 start with 1 nomaxvalue nocycle;
序列已创建。
—第二题答案:
SQL> declare i number;
2 begin
3 for i in 1 .. 100
4 loop
5 insert into employee
6 values(seq_employee.nextval,1950+i,'王明'||to_char(i));
7 commit;
8 end loop;
9 end;
10 /
PL/SQL 过程已成功完成。
SQL> select * from employee where rownum<11;
ID SALARY NAME
———- ———- ————————
1 1951 王明1
2 1952 王明2
3 1953 王明3
4 1954 王明4
5 1955 王明5
6 1956 王明6
7 1957 王明7
8 1958 王明8
9 1959 王明9
10 1960 王明10
已选择10行。
3.写一个语句块,在语句块中定义一个显式游标,按id升序排列,打印表employee中前十条数据。(15分)
——-第三题答案:
SQL> declare
2 cursor c is select id,salary,name from(select * from employee order by id) where rownum<11;
3 v_record c%rowtype;
4 begin
5 open c;
6 loop
7 fetch c into v_record;
8 exit when c%notfound;
9 dbms_output.put_line(to_char(v_record.id)||','||to_char(v_record.salary)||','||v_record.name);
10 end loop;
11 close c;
12 end;
13 /
1,1951,王明1
2,1952,王明2
3,1953,王明3
4,1954,王明4
5,1955,王明5
6,1956,王明6
7,1957,王明7
8,1958,王明8
9,1959,王明9
10,1960,王明10
PL/SQL 过程已成功完成。
4.创建存储过程p_employee,输入员工薪水范围,返回员工工号、姓名、薪水结果集,结果集按员工薪水升序排列。(15分)
——-第四题答案
SQL> create or replace procedure p_employee
2 (iminsalary in number,
3 imaxsalary in number)
4 is
5 begin
6 for x in(select id,salary,name from(select * from employee where salary between iminsalary and imaxsalary) order by salary)
7 loop
8 dbms_output.put_line(to_char(x.id)||to_char(x.salary)||x.name);
9 end loop;
10 end;
11 /
过程已创建。
SQL> exec p_employee(2000,2007);
502000王明50
512001王明51
522002王明52
532003王明53
542004王明54
552005王明55
562006王明56
572007王明57
PL/SQL 过程已成功完成。
5.创建函数f_employee实现更新员工薪水的功能,将薪水低于2000且姓wang的员工薪水加5%,其他不变,更新成功则返回0,否则返回1。(15分)
———第五题答案
SQL> create or replace function f_employee return number
is
begin
update employee set salary=salary+salary*0.05 where salary<2000 and name like ‘王%';
commit;
if sql%rowcount=0 then
return 1;
else
return 0;
end if;
end;
/
函数已创建。
—-第六题答案
SQL> declare a number;
2 begin
3 a:=f_employee();
4 dbms_output.put_line(to_char(a));
5 end;
6 /
0
PL/SQL 过程已成功完成。
SQL> select * from employee where salary<2000 and name like ‘王%';
未选定行
SQL> select * from employee where rownum<50;
ID SALARY NAME
———- ———- ————————
1 2048.55 王明1
2 2049.6 王明2
3 2050.65 王明3
4 2051.7 王明4
5 2052.75 王明5
6 2053.8 王明6
7 2054.85 王明7
8 2055.9 王明8
9 2056.95 王明9
10 2058 王明10
11 2059.05 王明11
ID SALARY NAME
———- ———- ————————
12 2060.1 王明12
13 2061.15 王明13
14 2062.2 王明14
15 2063.25 王明15
16 2064.3 王明16
17 2065.35 王明17
18 2066.4 王明18
19 2067.45 王明19
20 2068.5 王明20
21 2069.55 王明21
22 2070.6 王明22
ID SALARY NAME
———- ———- ————————
23 2071.65 王明23
24 2072.7 王明24
25 2073.75 王明25
26 2074.8 王明26
27 2075.85 王明27
28 2076.9 王明28
29 2077.95 王明29
30 2079 王明30
31 2080.05 王明31
32 2081.1 王明32
33 2082.15 王明33
ID SALARY NAME
———- ———- ————————
34 2083.2 王明34
35 2084.25 王明35
36 2085.3 王明36
37 2086.35 王明37
38 2087.4 王明38
39 2088.45 王明39
40 2089.5 王明40
41 2090.55 王明41
42 2091.6 王明42
43 2092.65 王明43
44 2093.7 王明44
ID SALARY NAME
———- ———- ————————
45 2094.75 王明45
46 2095.8 王明46
47 2096.85 王明47
48 2097.9 王明48
49 2098.95 王明49
已选择49行。
—-第七题答案
SQL> create or replace procedure p_create_emp
2 is
3 v_count number;
4 begin
5 select count(*) into v_count from user_tables where table_name='EMPLOYEE';
6 if v_count=0 then
7 return;
8 else
9 execute immediate ‘drop table employee';
10 end if;
11 end;
12 /
过程已创建。
———第八题答案
SQL> exec p_create_emp;
PL/SQL 过程已成功完成。
SQL> select * from employee;
select * from employee
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
发表评论
-
北京华鼎博士科技有限公司Oracle面试题
2010-08-27 10:46 6951.解释冷备份和热备份的不同点以及各自的优点2. 你必须利用备 ... -
查看表空间物理文件的名称及大小
2010-08-27 10:46 763select tablespace_name, file_id ... -
Oracle查看当前用户的缺省表空间
2010-08-27 10:46 898SQL>select username,default_ ... -
一套Oracle面试题笔试题及参考答案
2010-08-27 10:46 1079完成下列操作,写出相应的SQL语句答:create table ... -
腾讯公司的一个sql题
2010-08-27 10:46 617小小+霸霸+王王=小霸王 小=?,霸=?,王=? ... -
ORA-01033: ORACLE initialization or shutdown in progress 是什么问题?
2010-08-27 10:46 654如果在Oracle启动或者关闭的过程中进行操作,有可能出现这个 ... -
影响oracle查询性能的因素都有哪些?
2010-08-27 10:46 7891. 硬件配置:处理器速度,内存大小,磁盘读写速度,网络传输速 ... -
北京-ORACLE友空间信息技术有限公司
2010-08-27 10:46 8001.数据库1,2,3 范式的概念与理解。2.简述oracle行 ... -
北京海存量科技有限公司Oracle面试题
2010-08-27 10:46 6131.请说明实例与数据库 ... -
Oracle里面User和Schema的区别是什么?
2010-08-27 10:46 1014* A schema is collection of dat ... -
Oracle 面试题库—SQL
2010-08-27 10:46 13681. ORACLE用来判断列值是否为空的操作符是____A = ... -
Oracle如何改变listener的端口号 (Linux服务器)
2010-08-27 10:46 1050可以参照如下步骤改变listener的端口号:1. 使用命令l ... -
查看回滚段名称及大小
2010-08-27 10:46 864select segment_name, tablespace ... -
Oracle查看当前用户的角色和查看当前用户的系统权限和表级权限
2010-08-27 10:46 950查看当前用户的缺省表空间SQL>select usern ... -
Oracle数据库有哪几种启动方式
2010-08-27 10:46 717有以下几种启动方式:1、startup nomount非安装启 ... -
武汉英思工程科技有限公司–ORACLE面试测试题目
2010-08-27 10:46 7781. 解释FUNCTION,PROCEDURE和PACK ... -
Oracle9i笔试题面试题E
2010-08-27 10:46 5651.下面哪一项指出了列格式模型中的数字数据?a.#b.9c.- ... -
Oracle 面试题库—PL/SQL
2010-08-27 10:46 7631 PL/SQL代表A PROCEDURAL LANGUAG ... -
Oracle9i笔试题面试题D
2010-08-27 10:46 767EMP表EMP表列名称定义列名称定义EmpnoNUMBER(4 ... -
Oracle 面试题库—DBA
2010-08-27 10:46 7771 以下权限哪个时系统 ...
相关推荐
Oracle笔试题及答案 Oracle笔试题及答案是Oracle数据库管理员和开发者必备的知识点,涵盖了Oracle数据库的基本概念、SQL语句、数据操作、数据库设计等方面的知识点。以下是从给定的文件中提取的相关知识点: 1. ...
本次提供的100题,涵盖了Oracle数据库的基础知识点和一些实际应用能力的考察。 首先,在Oracle数据库的启动过程中,三个必须的文件是数据文件、控制文件和日志文件。归档日志文件不是启动时必须的,但是它在恢复...
### ORACLE数据库笔试题解析及知识点总结 #### 一、选择题解析 1. **算法的执行效率与数据的存储结构无关** - **解析**: 正确选项为 **C**。算法的执行效率与数据的存储结构密切相关。例如,数组与链表在查找、...
【数据库笔试题及答案】 1. 选择题的第1题涉及算法的性质。正确答案是C,算法的有穷性意味着它必须在有限步骤后结束。这与数据的存储结构(A)、算法程序的指令数量(B)或描述方式(D)无关。 2. 第2题中,线性...
Oracle笔试题及答案 Oracle是一种关系数据库管理系统,广泛应用于企业级数据库管理。下面是 Oracle 笔试题及答案的知识点总结: 一、选择题 1. Oracle 中的等价语句 在 Oracle 中,select 语句可以使用 join ...
Oracle笔试题-参考答案 Oracle数据库管理系统是当前市场上最流行的关系数据库管理系统之一。本文主要总结了Oracle笔试题的参考答案,涵盖了Oracle数据库的基本概念、数据库设计、数据模型、SQL语句等方面的知识点。...
【Oracle笔试题参考答案】 1. 在Oracle数据库中,必须启动的服务是OracleServiceSID,它用于提供特定数据库实例的连接服务。 2. Windows操作系统中,监听并接受客户端连接请求的服务是OracleHOME_NAMETNSListener。...
以下是针对给定的Oracle数据库DBA面试题的知识点详细解析: 1. **冷备份和热备份的区别及其优点**: - **热备份**:在数据库运行时(归档模式下)进行备份。优点是可以使用数据库,且可将数据库恢复到任意时间点。...
从给定的文件信息中,我们可以总结出一系列与Oracle数据库管理相关的知识点,这些知识点涵盖了从基本的表空间和表管理,到数据复制、用户管理、数据库模板选择、OMS使用,再到物理文件类型、日志文件工作模式、序列...
为了备份和恢复Oracle 10g数据库中特定用户的数据,可以使用Oracle提供的`expdp`和`impdp`工具。 - **备份命令**:`expdp myuser/mypassword@myorcl directory=DATA_PUMP_DIR dumpfile=myuser.dmp logfile=myuser_...
2017 年软件实施工程师笔试面试题及答案
阿里巴巴的Oracle DBA笔试题参考答案 本文将从阿里巴巴的Oracle DBA笔试题参考答案中提取相关知识点,并进行详细解释。 一、SQL Tuning SQL Tuning是数据库管理员(DBA)最常见的任务之一。它涉及到SQL语句的优化...
oracle笔试和面试题 本资源摘要信息涵盖了 Oracle 相关的笔试和面试题,包括表连接方式、SQL 执行计划、CBO 和 RULE 的区别等多个方面的知识点。 表连接方式: * Inner Join: Inner Join 用于连接两个表,并返回...
基础的Oracle_DBA笔试题和面试题目
以下是一些基于提供的Oracle笔试题目的详细知识点解析: 1. **Oracle not available错误**:这个错误通常表示无法连接到Oracle服务器。原因可能是数据库服务未启动或者ORACLE_SID环境变量没有正确设置。解决方法...
### DBA笔试题知识点解析 #### 一、SQL调整最关注的指标 在数据库管理与优化过程中,SQL语句的性能调整是至关重要的一个环节。调整SQL时最关注的几个指标包括: - **Response Time**: SQL执行的时间长度,即从...
最新的Oracle笔试题,快来下载吧,各大软件开发公司第一手Oracle的题目
【Oracle笔试题解析】 Oracle,作为全球知名的关系型数据库管理系统,其在IT行业中的地位不言而喻。针对2010年的校园招聘,Oracle公司可能会在笔试环节中考察应试者对数据库理论、SQL语言、数据库设计以及Oracle...