我想创建一个简单的过程,当传递一个主键时,它将从表中删除一条记录。
我已经阅读了这个关于 SQL%NOTFOUND 的帖子。我认为该问题的解决方案是使用一个函数来检查传递的参数是否是该表的主键并返回一个布尔值。我敢肯定,这里还有更多需要注意的地方。
我应该寻找哪些其他问题或特定例外情况?
这是我的程序的基本模板:
create or replace procedure delete_employee
( employee_id_i in employees.employee_id%type) is
begin
if valid_employee(employee_id_i) then
delete from employees where employee_id = employee_id_i;
end if;
exception
when others then
log_error_proc(dbms_utility.format_error_stack(),
dbms_utility.format_error_backtrace());
end delete_employees;