【发布时间】:2017-04-18 12:34:59
【问题描述】:
您好,我想处理我的程序中的异常以使其更有用。
我的程序添加了occupations,它是wage,这是表格:
CREATE TABLE Occupations(
id_oc NUMBER(2),
Name_oc VARCHAR2(20) CONSTRAINT OC_name_cc NOT NULL ,
Min_wage NUMBER(7,2) CONSTRAINT OC_min_wg NOT NULL CHECK(Min_wage>100),
CONSTRAINT Oc_id_pk PRIMARY KEY (id_oc),
CONSTRAINT OC_na UNIQUE (Name_oc)
);
这是程序
create or replace procedure zad_2a(name varchar2, min_wage number)
is
isFound occupations.name_oc%TYPE;
cursor c1
is
select name_oc from occupations where name_oc = name;
begin
open c1;
fetch c1 into isFound;
if c1%found then dbms_output.put_line('Occupation already exists');
else insert into occupations values(Seq_Occupations.NEXTVAL, name, min_wage);
end if;
close c1;
end;
/
这个过程应该有以下例外:
- 当我设定工资低于 100 和超过 5000 时
- 虽然我添加了错误的职业名称 - 使用数字而不是字符
- 处理其他不例外的错误
如何做到这一点?
【问题讨论】:
标签: exception plsql procedures