oracle上机测验试题与答案

发布 2021-05-04 23:04:28 阅读 7213

作者:日期:

1、写一个pl/sql程序块:直接使用数据类型定义两个变量v_empno和v_ename,从scott模式下的emp表中检索某个员工的编号empno和姓名ename,存储到v_empno和v_ename,并输出此员工的编号和姓名。

set serveroutput on

declare

type merchandise is record(

v_empno number(30),v_ename varchar2(30));

record_merchandise merchandise;

beginselect empno,ename

into record_merchandise

from emp

where empno='7369';

dbms_dbms_

end;2、写一个pl/sql程序块:根据scott模式下的emp表中的部门编号deptno字段的值,为姓名为scott的雇员修改工资;若他所在部门号为10,则工资加100;若部门号为20,则工资加300;否则工资加400。

set serveroutput on

declare

v_deptno

addsal

sal number;

beginselect deptno into v_deptno from emp where ename='scott';

if v_deptno='10' then

addsal:=100;

elsif v_deptno='20' then

addsal:=300;

elseaddsal:=400;

end if;

update emp set sal=sal+addsal where ename='scott';

dbms_end;

3、写一个pl/sql程序块:定义一个游标类型type_cursor,然后使用type_cursor定义变量ref_cur;根据scott模式下的emp表和dept表,使用游标变量ref_cur检索员工姓名和工作信息,并输出员工姓名和工作信息;使用游标变量ref_cur检索部门编号和部门名称信息,并输出部门编号和部门名称信息。

set serveroutput on

declare

type type_cursor is ref cursor;

ref_cur type_cursor;

mer_rec emp%rowtype;

ner_rec dept%rowtype;

beginopen ref_cur for select ename,job from emp;

loopfetch ref_cur into mer_rec;

exit when ref_cur%notfound;

dbms_ |

dbms_ )

end loop;

open ref_cur for select deptno,dname from dept;

loopfetch ref_cur into ner_rec;

exit when ref_cur%notfound;

dbms_'

dbms_ )

end loop;

close ref_cur;

end;4、写一个pl/sql存储过程:根据scott模式下的emp表,写一个带参数的存储过程proc(deptno in number,sun_sal out number),输入部门编号,输出该部门的总工资信息。并写一个pl/sql程序块,测试该存储过程。

create or replace procedure searchmerch

v_deptno in number,sun_sal out number) is

beginselect 12*(sal+nvl(comm,0))

into sun_sal

from emp

where deptno=v_deptno;

exception

when no_data_found then

sun_sal:='0';

end;5、写一个pl/sql程序块:根据scott模式下的emp表和dept表,输出每个部门的编号和部门名称,以及该部门下所有的雇员和雇员工资,及其该部门的总人数。

输出效果如下:

部门编号:--部门名称:--

雇员姓名:--雇员工资:--

该部门总人数:--

declare

cursor c_dept is select deptno,dname from dept order by deptno;

cursor c_emp (p_dept varchar2) is

select ename,sal from emp where deptno=p_dept order by ename;

n number;

begin

for r_dept in c_dept loop

dbms_'部门编号:'|r_'-部门名称:'|r_

n:=0;for r_emp in c_emp(r_ loop

dbms_'雇员姓名: 'r_ |雇员工资:'|r_

n:=n+1;

end loop;

dbms_'部门的总人数:'|n);

上机测验试题

作者 日期 word上机试题。混排 共6题,每题15分 第1题 分别用文本框和竖排文本框排版下面的回文诗 春。花朵几枝柔傍砌,柳丝千缕细摇风。霞明半岭西斜月,月上孤村一树松。参考结果 测试区。第2题 太阳。参照下图画一个 太阳 提示 用自选图形画一个太阳,设置填充颜色和填充效果,再用自选图形画一个笑...

oracle笔试题附答案

1.你要对操纵oracle数据库中的数据。下列哪个选项表示oracle中select语句的功能,并且不需要使用子查询 c a 可以用select语句改变oracle中的数据。b 可以用select语句删除oracle中的数据。c 可以用select语句和另一个表的内容生成一个表。d 可以用selec...

oracle模拟题与答案

第1题,选择题 2分 oracle中,游标可以分为三类,下面不是oracle游标的是 1 1 系统游标 2 显式游标 3 隐式游标 4 ref游标第2题,选择题 2分 pl sql块中定义了一个带参数的游标 cursoremp cursor dnumnumber isselect sal,comm ...