Oracle之PL/SQL异常练习题(六)

          • 1、编写一个程序块,接受一个雇员名,从emp表中显示该雇员的工作岗位与薪水,若输入的雇员名不存在,显示"该雇员不存在"信息(用异常) 预定义
          • 2、接受两个数相除并且显示结果,如果第二个数为0,则显示消息“除数不能为0” 自定义
          • 3、编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置

1、编写一个程序块,接受一个雇员名,从emp表中显示该雇员的工作岗位与薪水,若输入的雇员名不存在,显示"该雇员不存在"信息(用异常) 预定义
declare
  v_ename emp.ename%type:='&ename';
  v_job emp.job%type;
  v_sal emp.sal%type;
begin
  select job,sal into v_job,v_sal from emp where ename=v_ename;
  dbms_output.put_line(v_job||','||v_sal);
  exception
    when no_data_found then
      dbms_output.put_line('该雇员不存在');
end;
2、接受两个数相除并且显示结果,如果第二个数为0,则显示消息“除数不能为0” 自定义
declare
  --声明异常变量
  myexcp exception;
  --声明两个变量接受两个数
  m number(10):=&m;
  n number(10):=&n;
begin
  if n=0 then
    dbms_output.put_line('除数不鞥为零');
    raise myexcp;
  end if;
  dbms_output.put_line(m/n);
end;
3、编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置
declare
  v_deptno number(10):=&deptno;
  v_dname varchar2(10);
  v_loc varchar2(10);
begin
  select dname,loc into v_dname,v_loc from dept where deptno=v_deptno;
  dbms_output.put_line(v_dname||','||v_loc);
  exception
    when no_data_found then
      dbms_output.put_line('该部门不存在');
end;

你可能感兴趣的:(Oracle,oracle,sql,数据库)