sql添加数据并进行判断(存储过程)

在包体里面建立存储过程

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;
 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页