oracle测试题

. 对字符串操作的函数?
2、 事务 的概念?
3、oracle中查询系统时间?
4、 触发器的作用,什么时候用触发器,创建触发器的步骤,触发器里是否可以有commit, 为什么?
5.数字操作函数?

6、 关系数据库系统与文件数据库系统的区别在那里?关系数据库系统一般适用那些方面?
7、存储过程的概念.?
8、 基本SQL语句有哪些?
9、什么是事务一致性 ? 选择熟悉的数据库实现一个事务处理,如信用卡提款. 答案: 事务的一致性:是事务原子性的体现,事务所对应的数据库操作要么成功要么失败没有第三种情况。事务不管是提交成功与否都不能影响数据库数据的一致性状态。 事务:用户定义的一个数据库操作序列,这些操作要么全部成功完成要么全部不做,是一个不可分割的整体。定义事务的SQL语句有:BEGIN TRANSACTION,COMMIT,ROLLBACK。事务的原子性:就是事务所包含的数据库操作要么都做,要么都不做.事务的隔离性:事务对数据的操作不能够受到其他事务的影响。事务的持续性:也就是说事务对数据的影响是永久的。对’信用卡提款’这一事务而言就是要保证’提取到现金’和’卡帐号余额’的修改要同时成功或失败.BEGIN TRANSACTION读取A的帐户余额BALANCE;BALANCE=BALANCE-AMOUNT转帐金额;IF(BALANCE<0) THENROLLBACK;ELSEBEGIN将A的新余额写回;读取B的帐户余额BALANCEB;BALANCEB=BALANCEB+AMOUNT转帐金额;将B的新余额写回;COMMIT;END IF;END;
10、 实现索引的方式? 索引的原理? 索引的代价? 索引的类型?
11、 view 的概念 ? 何时应用?
12、 sql语句例外处理?举例说明? 答案: 当sql 语句在执行过程中出现意外时,如查询时,未查询到结果;更改时无记录等情况的应采取的措施.以oracle为例:测试其对exception的理解.如select 字段 into 变量 from table ;若查询出多条记录,应增加exception 例外处理.Oracle处理异常有三种:1. 预定义的例外处理,EXCEPTION WHEN exception_name THEN 2. EXCEPTION_INIT产生例外首先要declare 声明一个例外名;然后将例外名和错误代码绑定pragma exception_init(错误名,错误代码);最后在EXCEPTION 处when 错误名then 3.用户自定义例外,不用EXCEPTION,当判断条件成熟时用raise_application_error(-20000~~~-20999,提示信息)。
13、 判断下列论述是否正确。 (1) 一个事务中的某条SQL命令提交时,其它SQL命令可以不提交。 (2) 在一个关系表中,主键可唯一标识一行记录。 (3) 一个关系表中的外键必定是另一表中的主键。 (4) 回滚可以在事务失败时,回到操作事务前的数据状态。 答案: (1)错误 (2)正确 (3)正确 (4)正确
14、 以下哪些手段可保证数据库中数据的完整性和一致性: (1)自定义数据类型 (2)触发器 (3)主键和外键 (4)事务 15、 使用存储过程访问数据库比直接用SQL语句访问有哪些优点? 答案:存储过程是预编译过的,执行时勿须编译,执行速度更快;存储过程封装了一批SQL语句,便于维护数据的完整性与一致性;可以实现代码的复用。
以上的答案未必正确,再次记录下,以免下次看的时候忘了。
下面是一个试卷题,有答案 网上找的不知道正确否,抽空要做一下
Oralce数据库一、 选择题1、在SQL的查询语句中,用于分组查询的语句是( C )。A)ORDER BY B)WHERE C)GROUP BY D)HAVING2、在“学生情况.DBF”表中,查询计算机专业、助学金大于40元的学生的姓名,正确的语句是( C )。A)SELECT 姓名 FROM 学生情况 WHERE 计算机 .AND.助学金<40B)SELECT 姓名 FROM 学生情况 WHERE 专业=“计算机”.OR.助学金>40C)SELECT 姓名 FROM 学生情况 WHERE 专业=“计算机”.AND.助学金>40D)SELECT 姓名 FROM 学生情况 WHERE 专业=“计算机”.AND.助学金<403、下列SQL语句中,修改表结构的是( A )。 A)ALTER B)CREATE C)DESC D)RENAME4、已知职工表EMP有工号E_NO和工资E_SAL两个字段。从职工关系中检索所有工资值,要求在输出结果中没有重复的工资值,则SQL的命令语句能实现上述功能的是( B )。A)SELECT ALL E_SAL FROM EMP B)SELECT DISTINCT E_SAL FROM EMPC)SELECT E_SAL FROM EMP D)SELECT E_SAL WHERE EMP5、请选出属于DML的选项( C )A) TRUNCATE B)CREAT C)DELETE D)DROP 6、视图存放在哪里(B)A.数据库的表中    B.数据字典的select语句中 C.from列表的第一个表格的select语句中 D.列表的第二个表格的select语句中7、当fetch执行失败时,哪种游标的属性值为true(C)A.%isopen B.%found C.%notfound D.%rowcount8、下列那些说法是正确的(B )A) 一个事务中的某条SQL命令提交时,其它SQL命令可以不提交。 B) 在一个关系表中,主键可唯一标识一行记录。 C) 一个关系表中的外键必定是另一表中的主键。 D) 回滚可以在事务失败时,回到操作事务前的数据状态。9、假如一个变量的值为nuLL,有一条if语句,if变量=NULL分支1 else分支2请问最终执行的结果是(B) A) 分支1 B)分支2 C)系统错误提示 D)都没有执行10、关于主键(primary key)和唯一索引(unique index)的说法哪些是错误的?(A)A、 唯一索引的列允许为NULL值 B、 主键的列不允许为NULL值C、 一个表只能有一个唯一索引11、教师信息表teacher包含以下字段:LAST_NAME VARCHAR2(25)FIRST_NAME VARCHAR2(25)EMAIL VARCHAR2(25)下面哪个语句可以显示无EMAIL地址的教师的姓名( C )SELECT last_name,fist_name from teacher where email=nullSELECT last_name,first_name from teacher where email<>nullSELECT last_name,first_name from teacher where email IS nullSELECT last_name,first_name from teacher where email IS NOT NULL12、在执行一个查询时哪个是正确的顺序?(C) A、解析、执行 B、执行、解析、获取C、解析、执行、获取 D、解析、获取13、如下语句 if V_num>5 then v_example:=1:elSif V_num>10 then v_example:=2: elSif v_hum<20 then v_example:=3: elsif v_num<39 then v_example:=4: else v_example:=5: 如果v num=37,则v—example的值是多少()A、1 B、2 C、3 D、4 E、5二、判断对错1、一个表空间可以含有多个数据文件,一个数据文件也可以跨多个表空间。一个表不可以跨表空间( 错误 )2、一个表test 有字段 id,name,age,address,email,salary删除age 大于平均年龄的记录 这样写可以吗? delete from test where age > avg(age); ( 错误 )3、BETWEEN AND运算符是否既可以用于数值表达式,又可以用于字符表达式? ( 正确 )二、 简答题:1、用SQL语句写出以下操作a、 建一张数据表EMP(职工信息表),包含工号、姓名、性别、部门、年龄、工资等字段。Create table EMP(ID NUMBER,NAME VARCHAR2(20),SEX CHAR(4),DEPARTMENT VARCHAR2(20),AGE NUMBER,SALARY NUMBER(6,2));b、 往该数据表中添加一条记录。INSERT INTO EMP VALUES(1,’XIAOZHANG’,’男’,’销售部’,23,1200.0);c、 假设该表中存在3000条员工的相关信息,要求显示所有年龄在20到30岁之间的人员记录SELECT * FROM EMP WHERE AGE BETWEEN 20 AND 30;d、 假设有一个销售部,请给出销售部门所有女职员的工资总数SELECT SUM(SALARY) FROM EMP WHERE DEPARTMENT=’销售部’ AND SEX=’女’;e、 为了提高操作该表的性能,给表按年龄分区,20以下分为 youth,20到30为mid1, 30到40 为mid2,40到60 为old2、 什么是DDL、什么是DML,请分别列举一些。DDL是数据定义语言,建立、删除和修改数据对象。例如:CREATE,DROP,ALTER.DML是数据操纵语言,完成数据操作的命令,包括查询。例如:SELECT,INSERT,UPDATE,DELETE3、 视图占空间吗?修改视图是否改变基表,为什么?定义:视图是查看数据表中的一种方法。(当一些用户需要经常访问和查询数据表中的某些字段构成的数据,但管理员从安全角度考虑又不希望他们直接接触数据表时,可以利用Oracle数据库提供的视图这一数据对象)。(视图不是数据表,它仅是一些SQL查询语句的集合,作用是按照不同的要求从数据表中提取不同的数据。4、 游标是什么,作用是什么,使用游标的步骤是什么写一个使用游标的例子定义:游标是为处理SQL的select语句而分配的一大块内存。作用:步骤:(1) 声明游标(2) 打开游标(3) 提取数据(4) 关闭游标例子:declarecursor student_id isselect student_id from studentinfo order by studentno;studenta studentinfo.student_id%typefor each rowbeginopen student_list;loopfetch student_list into studenta;dbms_output.put_line(‘student_id’||studenta);exit when student_list%notfound;dbms_output.put_line(‘已经到文件尾!’);end loop;close student_list;end;5、 存储过程是什么,为什么比一般语句更快,写一个简单的存储过程。定义:过程(procedure)是一个PL/SQL语句块,它存储在数据字典中并可被应用程序调用,可以使用过程存储数据库中频繁使用的应用逻辑。(使用存储过程的一个好处是能够实施数据的安全性)原因:因为存储过程是预编译的,所以比一般的语句更快。例子1:create or replace procedure print_current_time ascurtime varchar2(20);beginselect to_char(sysdate,’yyyy/mm/dd hh24:mi:ss’)into curtimefrom dual;dbms_output.put_line(‘当前时间是:’||chr(9)||curtime);end print_current_time;例子2:create or replace procedure print_parameter(p_Parameter in varchar2 default null)asbeginif(p_Parameter is null) thendbms_output.put_line(‘你没有输入参数’);elsedbms_output.put_line(‘你输入的参数是:’||chr(9)||p_Parameter);end if;end print_parameter;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值