发布时间 : 星期六 文章Oracle数据库应用 复习题及答案更新完毕开始阅读
CURSOR staff3_cursor IS SELECT * FROM staff WHERE ssex='男'; --声明游标
c1 staff3_cursor%rowtype;--定义参考游标结构的记录变量 BEGIN
select count(*) into n from staff where ssex='男'; OPEN staff3_cursor; --打开游标 FOR i in 1..n LOOP
FETCH staff3_cursor into c1; --提取游标数据行 DBMS_OUTPUT.PUT_LINE(c1.sno||', ' ||c1.sname||','||c1.sbirthday); END LOOP;
CLOSE staff3_cursor; --关闭游标 END;
7、写出下列存储过程的功能: CREATE PROCEDURE staff2_pro
(c1 IN CHAR,v1_staff OUT staff%ROWTYPE)
AS BEGIN
SELECT * INTO v1_staff FROM staff
WHERE sno=c1; END;
8、写出下列触发器的功能:
13
CREATE TRIGGER staff_trig
AFTER INSERT OR UPDATE OR DELETE ON staff FOR EACH ROW BEGIN
IF INSERTING THEN
DBMS_OUTPUT.PUT_LINE('正在向staff表插入数据!'); ELSIF UPDATING THEN
DBMS_OUTPUT.PUT_LINE('正在staff中更新数据!'); ELSIF DELETING THEN
DBMS_OUTPUT.PUT_LINE('正在staff删除数据!'); END IF; END;
六、编写程序
1、利用标准CASE语句根据grade变量的值ABCDE分别输出“优秀”、“良好”、“中等”、“及格”、“不及格”。
2、使用while循环,编程计算并输出n! 。n从键盘输入。 3、将第五题中第6小题改写成带参数游标并使用while循环来实现。 4、将第五题中第6小题改写成不带参数的游标FOR循环来实现。 5、编写存储过程swap交换两个参数,并写出调用程序。 6、利用存储函数staff_func重做第五题第7小题。
14
参 考 答 案
一、选择题 1. A 2. B 3. BA 4. D 5. B 6. A 7. D 8. C 9. A 10. A 11. B 12. C 13. B 14. B 15. B 16. D 17. B 18. C 19. A 20. D
15
21. A 22. D 23. C 24. B 25. B 26. C 27. D 28. B 29. C 30. C
二、填空题
1. 方案/模式 2. USER_SOURCE 3. 物理结构;逻辑结构;
4. 用户进程;服务器进程;后台进程; 5. 系统权限;对象权限; 6. GRANT; REVOKE;
7. 过程语言PL;结构化查询语言SQL 8. 无名块;命名的子程序; 9. 表空间;数据文件;
10. 同义词;同义词;同义词所代表的对象;同义词16