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

发布时间 : 星期三 文章Oracle数据库应用 复习题及答案更新完毕开始阅读

四、根据要求写命令

1、 将user12方案下的staff表中性别(ssex)为男的记录复制成新表staff_bk1。

2、将user12方案下的staff表中性别(ssex)为女的记录添加到表staff_bk1中。

3、创建表空间tabs11,包含一个数据文件ygbxfile1.dbf,路径为“D:\\oracle\\product\\10.1.0\\oradata\\ygbx”,大小为10MB,如果数据文件已经存在,则被覆盖。数据文件具有自动扩展属性,每次增量为128KB,最大值为100MB。

4、创建用户ygbx_user1,口令为“user1”,默认表空间为“tabs11”,临时表空间为“temp”,创建后解锁该用户。

5、创建一个角色ygbx_role1,并通过该角色将user12.staff表的增删改查权限授予所有用户。

6、为user12.staff表创建一个公用同义词staff_synonym。 7、定义一个记录变量c1,用于存放staff表中的一条记录。 8、根据ygbx数据库中的business表和staff表建立一个视图view1,通过view1可以查询每个员工的sno, sname, ssex, sbirthday,及员工所在企业编号(bno)和企业名称(bname)。

五、请写出以下PL/SQL程序块或子程序的功能或输出结果。

1、写出以下PL/SQL程序块的输出结果: SET SERVEROUTPUT ON

9

DECLARE

n1 NUMBER(5); n2 NUMBER(5);

BEGIN n1:=10; n2:=10; DECLARE

n1 NUMBER(5);

BEGIN n1:=20;

n2:=n1;

DBMS_OUTPUT.PUT_LINE('子块:n1='||n1||',n2='||n2);

END;

DBMS_OUTPUT.PUT_LINE('主块:n1='||n1||',n2='||n2); END;

2、写出以下程序块的功能: SET SERVEROUTPUT ON DECLARE

r1 scott.dept%ROWTYPE; BEGIN

SELECT * INTO r1 FROM scott.dept

10

WHERE deptno='10';

DBMS_OUTPUT.PUT_LINE(r1.deptno||','||r1.dname||','||r1.loc); END;

3、写出以下程序块的功能: SET SERVEROUTPUT ON DECLARE

score float:=&score; BEGIN

IF score<0 OR score>100 THEN

DBMS_OUTPUT.PUT_LINE('成绩不合理'); ELSIF score>=60 then

DBMS_OUTPUT.PUT_LINE('合格'); ELSE

DBMS_OUTPUT.PUT_LINE('不合格'); END IF; END;

4、写出以下程序块的功能: SET SERVEROUTPUT ON DECLARE

j NUMBER:=1; i NUMBER:=1;

BEGIN

11

LOOP j:=j* i; i:= i+1;

EXIT WHEN i>10;

END LOOP;

DBMS_OUTPUT.PUT_LINE(j); END;

5、写出以下程序块的输出结果: SET SERVEROUTPUT ON DECLARE

s NUMBER:=0;

BEGIN FOR i IN REVERSE 1..5 LOOP

s:=s+i;

DBMS_OUTPUT.PUT_LINE('i='||i)

END LOOP;

DBMS_OUTPUT.PUT_LINE('1--5的和为:END;

6、写出以下程序块的功能: SET SERVEROUTPUT ON DECLARE

n NUMBER;

12

'||s);

联系合同范文客服:xxxxx#qq.com(#替换为@)