第一范文网 - 专业文章范例文档资料分享平台

Oracle数据库应用 复习题及答案

来源:用户分享 时间:2025/5/29 7:32:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1、执行结果: 子块:n1=20,n2=20 主块:n1=10,n2=20

2、使用记录变量查询显示部门号为“10”的部门信息。 3、根据从键盘输入的百分制成绩,判断是否合格。 4、计算并显示10!。 5、输出结果: i=5 i=4 i=3 i=2 i=1

1—5的和为:15

6、通过游标逐行显示staff表中性别为“男”的记录的sno,sname,sbirthday3个字段信息。

7、通过IN 和OUT参数,查询并返回指定编号的员工记录。 8、创建行级触发器“staff_trig”,用于对表“staff”进行DML操作之后,显示相应的操作信息。

六、编写程序

1、SET SERVEROUTPUT ON DECLARE

21

grade CHAR(1):='B'; BEGIN CASE grade

WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('优秀'); WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('良好'); WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('中等'); WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('及格'); WHEN 'E' THEN DBMS_OUTPUT.PUT_LINE('不及格'); ELSE DBMS_OUTPUT.PUT_LINE('不存在'); END CASE; END;

2、SET SERVEROUTPUT ON DECLARE

Jch NUMBER:=1; i NUMBER:=1;

n int:=&n; BEGIN

WHILE i<=n LOOP jch:=jch* i; i:= i+1; END LOOP;

DBMS_OUTPUT.PUT_LINE('n的阶乘为:'||jch);

22

END;

3、SET SERVEROUTPUT ON DECLARE

n NUMBER;

CURSOR staff3_cursor(sex CHAR) IS SELECT * FROM staff WHERE ssex=sex; --声明游标

c1 staff3_cursor%rowtype;--定义参考游标结构的记录变量 BEGIN

OPEN staff3_cursor(‘男’); --打开游标 FETCH staff3_cursor into c1; --提取游标数据行 WHILE staff3_cursor%FOUND LOOP DBMS_OUTPUT.PUT_LINE(c1.sno||', ' ||c1.sname||','||c1.sbirthday); FETCH staff3_cursor into c1; END LOOP;

CLOSE staff3_cursor; --关闭游标 END;

4、SET SERVEROUTPUT ON DECLARE

n NUMBER;

CURSOR staff3_cursor IS SELECT * FROM staff WHERE ssex='男'; --声明游标

23

BEGIN

FOR c1 in staff3_cursor LOOP

DBMS_OUTPUT.PUT_LINE(c1.sno||', ' ||c1.sname||','||c1.sbirthday); END LOOP; END;

5、创建存储过程:

CREATE OR REPLACE PROCEDURE

swap(p1 IN OUT NUMBER, p2 IN OUT NUMBER) IS

v_temp NUMBER; BEGIN

v_temp := p1; p1 := p2; p2 := v_temp; END;

调用存储过程: SET SERVEROUT ON DECLARE

num1 NUMBER :=&num1; num2 NUMBER :=&num2; BEGIN

24

swap(num1, num2);

DBMS_OUTPUT.PUT_LINE('num1 = ' || num1); DBMS_OUTPUT.PUT_LINE('num2 = ' || num2); END;

6、CREATE FUNCTION staff1_fun (c1 IN CHAR)

RETURN staff%ROWTYPE AS

v1_staff staff%ROWTYPE;

BEGIN

SELECT * INTO v1_staff FROM staff WHERE sno=c1;

RETURN v1_staff;

END;

25

搜索更多关于: Oracle数据库应用 复习题及答案 的文档
Oracle数据库应用 复习题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6i8eu7hbf12wkqq4mj6h371qz5d0ci00kkn_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top