Oracle面试题库1

合集下载

oracle 数据库面试题

oracle 数据库面试题

oracle 数据库面试题Introduction:Oracle database is one of the most popular and widely used relational database management systems (RDBMS) in the industry. It is developed and marketed by Oracle Corporation. In this article, we will discuss some commonly asked Oracle database interview questions that can help you prepare for your next Oracle database job interview. These questions cover a wide range of topics and concepts related to Oracle database administration, SQL query optimization, data manipulation, and database security.1. What is an Oracle database?Oracle database is a relational database management system (RDBMS) that uses a structured query language (SQL) to manage its data. It provides a secure, scalable, and highly available environment for managing and processing data. Oracle database stores data in tables, which are organized in a logical structure called a schema.2. What is a schema in Oracle database?In Oracle database, a schema is a logical container for organizing and managing database objects, such as tables, views, indexes, and procedures.A schema is created by a database user and acts as a namespace for that user's objects. It allows multiple users to work with their own sets of objects within the same database.3. What is the difference between a function and a stored procedure in Oracle?In Oracle database, a function is a database object that returns a single value. It can accept input parameters and perform calculations or transformations on those parameters to produce a result. A function can be used in SQL queries or in PL/SQL blocks.On the other hand, a stored procedure is a database object that performs a specific task or set of tasks. Unlike a function, a stored procedure does not return a value directly. It can accept input parameters, perform operations on the database, and may modify data. Stored procedures are often used for tasks that involve complex database operations or business logic.4. Explain the concept of data normalization in Oracle database.Data normalization is a technique used to eliminate redundancy and improve data integrity in a database. It involves decomposing a database into multiple tables to reduce data duplication and dependency. The normalization process is carried out through a series of normalization rules, known as normal forms (1NF, 2NF, 3NF, etc.), which define specific conditions that the database tables must meet.By normalizing the data, we can minimize data duplication, improve data consistency, and simplify data maintenance and modification. The normalized tables are connected through relationships, such as primary keys and foreign keys, to maintain data integrity and enable efficient data retrieval.5. What are the different types of joins in Oracle database?In Oracle database, there are several types of joins that can be used to combine data from multiple tables:- Inner Join: Returns only the matching rows from both tables based on a specified join condition.- Left Outer Join: Returns all rows from the left table and the matching rows from the right table based on a specified join condition. If there are no matching rows in the right table, null values are used for the columns of the right table.- Right Outer Join: Returns all rows from the right table and the matching rows from the left table based on a specified join condition. If there are no matching rows in the left table, null values are used for the columns of the left table.- Full Outer Join: Returns all rows from both tables, regardless of whether there is a match or not.- Cross Join: Returns the Cartesian product of two tables, which means it combines each row from the first table with each row from the second table.These join types can be combined and nested to perform complex data aggregations and retrievals.6. How can you optimize SQL queries in Oracle database?Optimizing SQL queries is crucial for improving the performance of Oracle database applications. Here are some techniques to optimize SQL queries:- Use proper indexing: Create appropriate indexes on the columns used in WHERE clauses and join conditions to speed up data retrieval.- Limit the use of wildcard characters: Avoid using leading or embedded wildcard characters (e.g., '%') in search conditions, as they can degrade query performance.- Use bind variables: Instead of embedding literal values in SQL statements, use bind variables to improve statement reusability and reduce parsing overhead.- Minimize the use of subqueries: Subqueries can be resource-intensive. If possible, try to rewrite subqueries as joins to improve query performance.- Optimize data access: Retrieve only the necessary columns and rows of data by using efficient filtering techniques and limiting result sets.- Monitor and analyze query execution plans: Use Oracle's EXPLAIN PLAN statement or SQL tuning advisors to identify and optimize inefficient query execution plans.Implementing these optimization techniques can significantly enhance the performance of SQL queries in an Oracle database.Conclusion:Oracle database is a powerful RDBMS that offers a wide range of features and capabilities. Being familiar with common Oracle database interview questions is essential for anyone aspiring to work with Oracle databases. The questions discussed in this article cover fundamental concepts related to Oracle database administration, SQL query optimization, data manipulation, and database security. By understanding and practicing these concepts, you can improve your chances of success in Oracle database job interviews.。

oracle数据库面试题目(3篇)

oracle数据库面试题目(3篇)

第1篇1. 请简述Oracle数据库的体系结构,并说明各层的作用。

2. 请解释什么是Oracle实例?实例与数据库之间的关系是什么?3. 请简述Oracle数据库的存储结构,包括数据文件、控制文件、日志文件等。

4. 请说明Oracle数据库的内存结构,包括SGA、PGA等。

5. 请解释Oracle数据库的备份策略,包括全备份、增量备份、差异备份等。

6. 请说明Oracle数据库的恢复策略,包括不完全恢复、完全恢复等。

7. 请解释Oracle数据库的事务管理,包括事务的ACID特性。

8. 请说明Oracle数据库的锁机制,包括共享锁、排他锁等。

9. 请解释Oracle数据库的并发控制,包括多版本并发控制(MVCC)。

10. 请说明Oracle数据库的安全机制,包括角色、权限、用户等。

二、SQL语言1. 请简述SQL语言的组成,包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。

2. 请说明如何创建一个简单的表,包括表结构、字段类型、约束等。

3. 请编写一个查询语句,查询某个表中所有年龄大于30岁的记录。

4. 请编写一个更新语句,将某个表中年龄大于40岁的记录的年龄加1。

5. 请编写一个删除语句,删除某个表中年龄小于20岁的记录。

6. 请编写一个插入语句,插入一条记录到某个表中。

7. 请说明如何使用SQL语句实现分页查询。

8. 请说明如何使用SQL语句实现多表查询。

9. 请说明如何使用SQL语句实现子查询。

10. 请说明如何使用SQL语句实现联合查询。

三、Oracle高级特性1. 请解释什么是视图?如何创建视图?2. 请解释什么是索引?有哪些常见的索引类型?3. 请解释什么是触发器?如何创建触发器?4. 请解释什么是存储过程?如何创建存储过程?5. 请解释什么是函数?如何创建函数?6. 请解释什么是包?如何创建包?7. 请解释什么是序列?如何创建序列?8. 请解释什么是同义词?如何创建同义词?9. 请解释什么是物化视图?如何创建物化视图?10. 请解释什么是分区表?如何创建分区表?四、Oracle性能优化1. 请说明如何查看Oracle数据库的性能统计信息。

Oracle面试问题

Oracle面试问题

Q1.影响oracle查询性能的因素都有哪些?1. 硬件配置:处理器速度,内存大小,磁盘读写速度,网络传输速度等等,这些都影响oracle 的整体性能和查询性能2. 是否建立了索引,索引是否合理3. 表碎片和索引碎片,生产库由于长时间运营,碎片可能导致查询使用错误的执行计划,导致查询速度变慢4. 表或者索引的initial 参数配置不同,导致数据扩展区大小不一,也可能导致查询速度降低。

5. SQL执行效率低下,导致查询速度很慢6. 数据库负载过大Q2.考试总分为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 );表已创建。

oracle体系结构 面试题

oracle体系结构 面试题

oracle体系结构面试题
以下是一些关于Oracle体系结构的常见面试题:
1. 请解释Oracle数据库的体系结构。

2. Oracle数据库是如何工作的?
3. Oracle数据库的组成部分是什么?
4. 请解释Oracle实例和Oracle数据库之间的关系。

5. Oracle数据库的逻辑结构是怎样的?
6. Oracle数据库的物理结构是怎样的?
7. Oracle数据库的存储结构是怎样的?
8. 请解释Oracle数据库的内存结构。

9. Oracle实例的主要组件有哪些?
10. Oracle数据库是如何处理并发访问的?
11. Oracle数据库的恢复机制是怎样的?
12. Oracle数据库的备份和恢复策略是怎样的?
13. Oracle数据库的安全性是怎样保证的?
14. Oracle数据库的性能调优是怎样进行的?
15. 请解释Oracle的数据字典是什么?
以上是一些常见的关于Oracle体系结构的面试题,希望能帮到你!。

oracle常见的面试题

oracle常见的面试题

oracle常见的面试题Oracle数据库是目前全球广泛使用的一种关系型数据库管理系统。

在现代的IT行业中,掌握Oracle数据库的知识成为了许多岗位的基本要求之一。

因此,面试官们经常会在面试中提出一些与Oracle相关的问题来评估应聘者的能力和经验。

本文将介绍一些常见的Oracle面试题,并为每个问题提供详细的回答。

面试题一:什么是Oracle数据库?回答:Oracle数据库是一个基于客户与服务器结构的关系型数据库管理系统。

它是由美国Oracle公司开发并推广的,能够在多个操作系统上运行,包括Windows、Unix和Linux等。

Oracle数据库以其高性能、高可用性和强大的数据管理功能而闻名于业界。

面试题二:请简要介绍一下Oracle数据库的体系结构。

回答:Oracle数据库的体系结构包括以下几个组件:1. 实例(Instance):实例是Oracle数据库的运行环境,负责管理内存、进程和后台服务等。

每当启动一个Oracle数据库时,都会创建一个实例。

2. 数据库(Database):数据库是物理存放数据的地方,通过实例进行访问和操作。

一个Oracle实例可以管理多个数据库。

3. 数据文件(Data File):数据文件是数据库中存储数据的文件,每个文件对应一个表空间(Tablespace)。

Oracle数据库使用数据文件来存储表、索引、触发器等对象的数据。

4. 表空间(Tablespace):表空间是逻辑存储单元,用于管理和组织数据库中的对象。

每个表空间由一个或多个数据文件组成。

5. 表(Table):表是数据库中用于存储数据的基本对象,由多个列(Column)组成。

面试题三:请介绍一下Oracle数据库的事务(Transaction)概念。

回答:在Oracle数据库中,事务是一系列数据库操作的逻辑单元,它要么全部执行成功,要么全部回滚。

事务可以保证数据库的一致性和完整性。

事务具有以下四个特性,常简称为ACID特性:1. 原子性(Atomicity):事务作为一个整体执行,要么全部成功,要么全部失败。

oracle 基础面试题目

oracle 基础面试题目

oracle 基础面试题目以下是一些Oracle基础面试题目:1. Oracle是什么?请简要描述它的主要特点和功能。

2. 在Oracle数据库中,什么是数据字典?数据字典的作用是什么?3. 请解释Oracle中的表空间。

表空间在数据库中的作用是什么?4. 什么是Oracle的序列?请描述序列的主要用途。

5. 什么是Oracle的索引?请描述索引在数据库中的作用。

6. 请解释Oracle中的视图。

视图在数据库中的作用是什么?7. Oracle中的存储过程和函数有什么区别?请简要描述。

8. 请解释Oracle中的触发器。

触发器在数据库中的作用是什么?9. 如何在Oracle中执行数据备份和恢复操作?10. 请解释Oracle中的分区表。

分区表在数据库中的作用是什么?11. 什么是Oracle的并行处理?请描述并行处理在数据库中的作用。

12. Oracle中如何使用游标来处理查询结果?请简要描述。

13. 如何在Oracle中创建和管理用户账户?14. 请解释Oracle中的锁定机制。

锁定机制在数据库中的作用是什么?15. 什么是Oracle的性能优化?如何进行性能优化?16. 请解释Oracle中的PL/SQL语言。

PL/SQL在数据库中的作用是什么?17. 如何使用Oracle的存储过程和函数来提高应用程序的性能?18. 请解释Oracle中的物化视图。

物化视图在数据库中的作用是什么?19. 如何使用Oracle的包来组织和管理PL/SQL代码?20. 请解释Oracle中的分布式数据库。

分布式数据库在数据库中的作用是什么?以上是一些常见的Oracle基础面试题目,涵盖了Oracle的基本概念、功能、使用和管理等方面的内容。

希望对你有帮助。

JAVA开发面试题(ORACLE)(1级)

JAVA开发面试题(ORACLE)(1级)

数据库编码技术能力考试B卷课程名称Oracle数据库课程代码Oracle考试时间120分钟技能类别编码能力专业方向数据库平台编码技能等级1级考试方式(闭)卷(共8页)(本试卷满分100分,60分合格,答案请写在答题卡上)一、选择题(含单选题和多选题,每题2分,共80分)在每小题列出的四个备选项中只有1个或2个是符合题目要求的,多选题已用*标识出来,错选或未选均无分。

1、从客户端通过SQL*PLUS登陆oracle某个特定用户,必须要提供哪些信息:A.用户名、口令、监听B.用户名、监听、端口号C.用户名、口令、本地服务名 D.用户名、口令、目录方法名配置2、下列选中中哪个不属于SQL语句:A.desc B.selectC.alter tableD.truncate3、下列关于SQL语句书写规则的描述正确的是:A.SQL语句区分大小写,要求关键字必须大写,对象名小写B.SQL语句必须在一行书写完毕,并且用分号结尾C.SQL语句的缩进可以提高语句的可读性,并且可以提高语句的执行性能D.SQL语句中为了提高可读性,通常会把一些复杂的语句中每个子句写在单独的行上4、在客户端配置本地服务名时,下列哪个信息不需要提供:A.服务器地址B.服务器监听的端口号C.网络协议 D.服务器端目录配置E.数据库SID或数据库服务名*5、下列哪些SQL命令能够在SQL*PLUS环境下执行特定的脚本文件:(两个选项)A.@ B.STARTC.RUND./E.EXECUTE6、下列关于NULL描述不正确的是:A.当实际值是未知或没有任何意义时,可以使用NULL来表示它B.不要使用NULL来代表0,两者是不同的C.不要使用NULL来代替空格,两个是不同的D.算术表达式2000+null结果等于2000*7、PL/SQL中的注释符有哪些:(两个选项)A.-- B.%%C./**/D.<---->E.#*8、下列语句中使用了列别名,会导致错误的有哪些:(两个选项)A.select empno,ename,sal*12“Annual Salary”from emp;B.select empno,ename,sal*12“AnnualSalary”from emp;C.select empno,ename,sal*12‘Annual Salary’from emp;D.select empno,ename,sal*12‘AnnualSalary’from emp;E.select empno,ename,sal*12AnnualSalary from emp;*9.在Emp雇员表中sal字段描述了员工的薪水,现在需要根据薪水查询员工信息,下列语句那个描述是正确的:(两个选项)A.select*from emp where sal>any(1000,2000);选择了所有薪水超过2000的员工信息B.select*from emp where sal>all(1000,2000);选择了所有薪水超过2000的员工信息C.select*from emp where sal>some(1000,2000);选择了所有薪水超过2000的员工信息D.select*from emp where sal>2000or sal>1000;选择了所有薪水超过2000的员工信息E.select*from emp where sal>2000and sal>1000;选择了所有薪水超过2000的员工信息10、下列选项中哪些可能属于语句select ename from emp where ename like‘_A\_B%’escape‘\’;的返回结果集:A.TABABA B.A_BELLC.LA_BELL D.TTABABA11、下面哪两个任务可以使用TO_CHAR函数?(选择两个选项)A.把10转变为’TEN’B.把’10’转变为10C.把10转变为’10’D.把’TEN’转变为10E.把日期转变为字符表达式F.把字符表达式转变为日期12、下列比较为真的有哪些:A.trunc(123.56)=123 B.trunc(123.56,1)=123.6B.round(123.56)=123 D.round(123.56,1)=123.5*13、下列关于TO_CHAR()、TO_DATE()函数使用过程中不会出错的有哪些:(两个选项)A.select to_char(sysdate,'yyyymmddhh24miss')from dual;B.select to_char(sysdate,'yyyy年mm月dd日hh24:mi:ss’)from dual;C.select to_char(sysdate,'yyyy'年'mm'月'dd'日'hh24:mi:ss')from dual;D.select to_char(sysdate,'yyyy###mm###dd##hh24##miss')from dual;E.select to_date('20070605113430','yyyy###mm###dd##hh24##miss')from dual;14、约束可以防止无效数据进入表中,维护数据一致性,Oracle提供了若干种约束,下列描述正确的是:A.主键约束、唯一约束、外键约束、条件约束、非空约束B、唯一性索引、非唯一性索引、位图索引、位图连接索引、hash索引C、列级约束、表级约束、单项约束、组合约束、连接约束D、主键约束、唯一约束、外键约束、缺省值约束、非空约束15、下列对于视图的描述中错误的是:A.视图可以限制对数据库的访问,因为视图可以优先择性的显示数据库的一部分B.视图可以简化用户的查询,允许用户从多个表中检索数据而不需要知道如何基表是如何连接的C.可以通过视图实现对基表的DML操作D.对视图执行DML操作时,可以不受基表的约束的限制16、用户A把CREATE TABLE系统权限赋给用户B,而用户B希望能够继续把此权限赋给其他用户,此时用户A应该怎么赋予这个权限:A.在A用户下grant create table to C with admin option;B.在B用户下want create table from A with admin option;C.在B用户下grant create table to C with admin option;D.在A用户下grant create table to B with admin option;*17、下列哪些情况会导致Oracle事务结束:(两个选项)A.PL/SQL块结束 B.发出savepoint语句C.用户强行退出SQL*PLUS D.发出select语句E.发出commit或rollback语句18、当执行了DML操作修改数据以后,要保存所作的修改,使用什么语句:A.savepoingmitC.rollbackD.exit19、下列关于PL/SQL控制结构的描述中,正确的是:A.循环结构中可以使用CONTINUE继续下一次循环B.循环结构中可以使用BREAK结束循环C.EXIT或EXIT-WHEN可以强迫循环体有条件或无条件地退出D.PL/SQL提供了LOOP、FOR LOOP、WHILE LOOP,这些循环都要求循环体至少被执行一次20、下列关于PL/SQL中IF条件控制结构的描述性书写,正确的是:A.IF condition THENsequence_of_statementsEND IF;B.IF conditionsequence_of_statementsEND IF;C.IF conditionsequence_of_statements1ELSEsequence_of_statements2END IF;D.IF condition1sequence_of_statements1ELSIF condition2sequence_of_statements2ELSEsequence_of_statements3END IF;21、在创建需要存储客户资料表中的所有列值的记录变量时,将使用什么A.%TYPEB.%ROWTYPEC.列列表D.%ROWCOUNT*22、执行SQL语句TRUNCATE TABLE EMPLOYEES,有关该语句的正确描述是(两个选项)A.释放了表占用的存储空间B.没有释放表占用的存储空间C.可以回退删除操作D.不可以回退删除操作E.TRUNCATE通常比DELETE删除全表数据更加耗时,但由于它释放了表的存储空间,所以还是会经常使用它23、下列关于游标的正确使用方法是:A.定义游标=>打开游标=>循环提取游标B.定义游标=>引用游标=>提取游标=>关闭游标C.定义游标=>打开游标处理数据=>删除游标D.定义游标=>打开游标=>循环提取游标=>关闭游标24、下列关于异常描述正确的是:A.在PL/SQL中,只有运行时的错误才能被称之为异常。

oracle数据库面试题及答案

oracle数据库面试题及答案

1.-- 查找出部门10中的工种与部门30中任何工种都不相同的职工的姓名与工种。

2.select ename,job from emp3.where deptno=10 and job not in (select distinct job from emp where deptno=30)4.--30号部门工种 select distinct job from emp where deptno=305.6.-- 查找出部门20中的工种相同的职工的姓名与工种。

7.select ename,job from emp8.where deptno=20 and job in9.(select job from emp10.where deptno =2011.group by job12.having count(*)>1);13.14.--先查找出,20号部门中,每个工种的人数超过1人的工种15.select job from emp16.where deptno =2017.group by job18.having count(*)>1;19.20.-- 查找出工资在1000到3500元之间的职工所在部门的所有人员的有关信息。

21.select * from emp22.where deptno in (select deptno from emp where sal between 1000 and 3500);23.24.-- 查找出工资高于20号部门任意一个员工工资的信息。

25.select * from emp26.where sal > (select max(sal) from emp where deptno=20)27.28.-- 查找出工种在部门10中没有的其他部门职工的姓名、工种和工资信息。

29.select ename,job,sal from emp30.where job not in (select distinct job from emp where deptno=10) and deptno != 10;31.32.-- 查找出10号部门中与销售部门中任何职工工种相同的职工的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 PL/SQL代表A PROCEDURAL LANGUAGE/SQLB PROGRAM LANGUAGE SQLC POWER LANGUAGE SQLD 都不对2 _____引擎执行PL/SQL块A SQLB PL/SQLC ORACLED 都不对3 一个对象可以呈现多种形式的能力称为A 多态B 继承C 封装D 以上都不对4 PLSQL块是由哪几个部分组成A DECLARE BEGIN ENDB BEGIN ENDC EXCEPTION BEGIN ENDD DECLARE BEGIN EXCEPTION END5 看下面代码,正确的是A DECLARE(‘定义部分’);BEGIN(‘语句部分’);END;B BEGINNUM NUMBER:=100;(‘NUM 的值为:’||NUM);END;C DECLARENUM NUMBER:=100;BEGINNUM:=NUM+NUM/2;(‘NUM 的值为:’||NUM);END;D BEGINNUM NUMBER:=100;DECLARENUM:=NUM+NUM/2;(‘NUM 的值为:’||NUM);END;6 看下面语句正确的是A IF(N%M=0) THEN(‘这是一个偶数’);ELSEIF(N%M=1) THEN(‘这是一个奇数’);END IF;B DECLAREVAR NUMBER:=0;BEGINVAR:=&V;CASEWHEN VAR=1 THEN(‘A’);WHEN VAR=2 THEN(‘B’);ELSE(‘O’);END CASE;END;C DECLAREI NUMBER:=0;BEGINFOR I IN 10..20 LOOP(I);END LOOP;END;D LOOP(I);END LOOP;7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗如果产生,是什么异常?A 不会有异常,只不过没有结果而已B 有异常,异常为No_data_foundC 有异常,异常为Value_erroD 编译都不通过8. 在PLSQL块中处理异常的语句是A EXCEPTIONIF EXCEPTION_NAME THEN();END;B EXCEPTIONWHEN EXCEPTION_NAME THEN();END EXCEPTION ;C WHEN EXCEPTION_NAME THEN();D BEGINNULL;EXCEPTIONWHEN EXCEPTION_NAME THEN();END ;9. 当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是A THROWB RAISEC RAISE_APPLICATION_ERRORD EXCEPTION10. 在自定义异常中,用户可用的错误号范围在A 20000 ~ 29999B -20000 ~ -20999C 1~65535D 没有限制11. 阅读代码DECLAREBEGIN(‘外不快’);DECLAREMYEXCE EXCEPTION;BEGINRAISE MYEXCE;END;EXCEPTIONWHEN MYEXCE THEN(‘异常捕获’);END;出现的结果是A 编译时报错PLS-00201: 必须说明标识符‘MYEXCE’B 运行时报错,在外部无法捕获到内部异常C 可以正常执行D 编译时报错,PLSQL块不能嵌套12. 使用游标的步骤,有哪几步A 打开游标、使用游标、关闭游标B 定义游标、打开游标、使用游标、关闭游标C 定义游标、使用游标、关闭游标D 定义游标、打开游标、使用游标、13 游标有哪几种类型A 静态游标、动态游标B 隐式游标、显示游标C 变量游标、常量游标D 参数游标、ref 游标14 阅读下列代码DECLARETOTALEMP NUMBER;BEGINSELECT COUNT(*) INTO TOTALEMP FROM EMP;IF(SQL%FOUND) THEN(‘有数据’);END IF;END;这段代码中是否使用了游标,如果使用了,使用的是什么类型的游标A 使用了游标,游标类型为参数游标B 使用了游标,游标类型为式游标C 使用了游标,游标类型为ref 游标D 这段代码中根本没有使用到游标15. 下列哪个游标的定义是正确的A TYPE CURSOR EMPCUR IS SELECT * FROM EMP;B TYPE EMPCUR IS CURSOR OF SELECT * FROM EMP;;C CURSOR EMPCUR IS SELECT * FROM EMP;D TYPE EMPCUR IS REF CURSOR AS SELECT * FROM EMP;16 在存储过程中,参数模式有哪几种A IN、OUTB IN、OUT、IN OUTC INPUT、OUTPUTD OUT INOUT17 关于存储过程返回值的类型,说法对的是A 只能是基本类型B 可以是任何类型C 只能是NUMBER VARCHAR2 DATE BOOLEAND 可以使基本类型和用户类型18 存储过程和函数的区别是A 过程可以返回多个值,而函数只能返回一个值B 函数可以作为PLSQL表达式的一部分,而过程不能C 函数可以返回多个值,过程只能返回一个D 函数和过程都必须包含RETURN语句19 过程和函数的重载,正确的是A Oracle中过程和函数不能重载B Oracle中的过程和函数只有在包中存在时,才能被重载C Oracle中的过程和函数随时随地都可以被重载D 函数可以重载,过程不能被重载20 Oracle中程序包的特点是A 可以写函数和过程B 任何能够定义在声明部分的内容,都可以出现在包中,包就是用来对代码进行封装的C 包是一个可选结构,其中只能定义函数和过程D 定义在包中的过程和函数不能被外部代码所访问21 下面关于保的说法错误的是A 有包头,就必须有包体B 包可分为包头和包体两部分,但包体不是必须的C 如果只用函数和过程,则可以只有包体,没有包头D 包可以继承22 阅读代码,函数被正确重载是A CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2)RETURN BOOLEAN;FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 IN OUT VARCHAR2) RETURN BOOLEAN;END TESTPACKAGE;B CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEAN;FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM3 OUT VARCHAR2);RETURN VARCHAR2;END TESTPACKAGE;C CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEANFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT NUMBER);RETURN OBJECTEND TESTPACKAGE;D CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEANFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT CHAR);RETURN OBJECTEND TESTPACKAGE;23 触发器有哪些级别A 行级触发器和字段级触发器B 行级触发器C 语句及触发器D行级触发器和语句及触发器26 触发器有哪些种类A BEFORE和AFTERB BEFORE 和BEFORE ROWC AFTER 和AFTER STATEMENTD FOR EACH ROW和FOR EACH STATEMENT27 触发器的执行过程是A 行前(多次)、语句前(多次)、行后(多次)、语句后(一次)B 语句前(一次)、行前(多次)、字段有效验证、行后(多次)、语句后(一次) C语句前(一次)、语句后(一次)、行前(多次)、行后(多次)D行前(多次)、行后(多次)、语句前(一次)、语句后(一次)28 触发器的动作有哪几个A INSERT、UPDATE、DELETEB INSERT、ALTER、DROPC UPDATE、CREATED REMOVE、INSERT、DELETE29 看代码CREATE OR REPLACE TRIGGER STUDENTUPDATEINFOAFTER INSERT OR UPDATE OR DELETE ON STUDENTFOR EACH ROWWHEN IS NOT NULL OR IS NOT NULL)BEGINCASEWHEN INSERTING THEN(:;(:;();(‘STUDENT表增加一条信息!!!’);WHEN UPDATING THEN(:;(:;();(‘STUDENT表更新一条信息!!!’);ELSE(:;(:;();(‘STUDENT表删除一条信息!!!’);END CASE;END;当执行了以下命令后INSERT INTO STUDENT VALUES(‘STU0010′,’TOM’,'TB007′,’JAVA’);UPDATE SET CALSSNAME=’ORACLE’ WHERE STUID=’STU0010′; DELETE STUDENT WHERE STUID=’STU0010′输出结果为:A INSERT后输出: TOM TOM STUDENT表增加一条信息!!! UPDATE后输出: TOM TOM STUDENT表更新一条信息!! DELETE后输出: TOM TOM STUDENT表删除一条信息!!!B INSERT后输出: TOM STUDENT表增加一条信息!!! UPDATE后输出: TOM TOM STUDENT表更新一条信息!! DELETE后输出: TOM STUDENT表删除一条信息!!!C INSERT后输出: TOM TOM STUDENT表增加一条信息!!! UPDATE后输出: TOM STUDENT表更新一条信息!!! DELETE后输出: TOM STUDENT表删除一条信息!!!D INSERT后输出: TOM STUDENT表增加一条信息!!! UPDATE后输出: TOM TOM STUDENT表更新一条信息!! DELETE后输出: STUDENT表删除一条信息!!!。

相关文档
最新文档