PL/SQL程序基础1

一.实验目标

掌握PL/SQL程序的基本结构编程,具备如下能力:

1、针对数据库应用领域的数据需求,设计出基于Oracle数据库的解决方案的能力;

2、承担Oracle数据库系统的实施、运行与维护等基本工作的能力。

二.实验项目

编写存储过程或存储函数完成以下各题,存储过程或函数依次命名为obj2_1、obj2_2、…
以下1-7题与EMP、DEPT表有关。
如果没有上述基本表,可以用下述SQL语句创建:

create table COUNTRIES as select * from univ.COUNTRIES;
create table DEPT as select * from univ.DEPT;
create table EMP as select * from univ.EMP;

1、输出名为SMITH的雇员的工资和职位。(存储过程)

create or replace procedure obj2_1 as 
  vsal emp.sal%type; vjob emp.job%type;
begin
   select sal,job into vsal, vjob from emp 
   where ename='SMITH';
   dbms_output.put_line(vsal ||','|| vjob);
end;
.
/
set serveroutput on;
exec obj2_1;

2、传送参数部门编号,输出该部门名和地理位置。(存储过程)

create or replace procedure obj2_2(z_deptno dept.deptno%type)
as  z_dname dept.dname%type;
    z_loc dept.loc%type;
begin
   select dname,loc
      into z_dname,z_loc
      from dept
      where deptno=z_deptno;
   dbms_output.put_line(z_dname||' '||z_loc);
end;
.
/
exec obj2_2(30)

3、传送参数雇员号,输出该雇员的工资和提成,没有提成的用0替代。(用%type实现)。(存储过程)

create or replace procedure obj2_3(v_empno emp.empno%type)
as  v_sal emp.empno%type;
    v_comm emp.comm%type;
begin
   select sal,nvl(comm,0)
      into v_sal,v_comm
      from emp
      where empno=v_empno;
   dbms_output.put_line(v_sal||' '||v_comm);
end;
.
/
set serveroutput on;
exec obj2_3(7369)

4、传送参数雇员号,输出该雇员的所有信息,没有提成的用0替代。(用%rowtype实现)。(存储过程)

create or replace procedure obj2_4(vem
  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值