发布时间 : 星期三 文章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);