在包体里面建立存储过程
create or replace package body pack_job is
procedure add_jobs(id in varchar2, title in varchar2, min_sal in number) is
begin
insert into jobs
(job_id, job_title, min_salary, max_salary)
values
(id, title, min_sal, min_sal * 2);
commit;
--使用sqlcode进行判断,0表示成功,-1表示失败,100表示没有检索到数据,+1表示用户自定义异常
if sqlcode=0 then
dbms_output.put_line('添加成功');
else
dbms_output.put_line('添加失败');
end if;
end add_jobs;
procedure add_jobs1(id in varchar2, title in varchar2, min_sal in number) is
begin
insert into jobs
(job_id, job_title, min_salary, max_salary)
values
(id, title, min_sal, min_sal * 2);
--也可以使用sql%rowcount进行判断
dbms_output.put_line('影响行数:'||sql%rowcount);
--使用sql%found进行判断(之前出现的错误原因是把commit放入前面)
if sql%found then
commit;
dbms_output.put_line('添加成功');
else
dbms_output.put_line('添加失败');
rollback;
end if;
end add_jobs1;
end pack_job;
调用
--添加新工作
begin
-- pack_job.add_jobs('SY_ANAL','System Analyst',6000);
pack_job.add_jobs1('test_id3','test_job1',6000);
end;