ЕСЛИ / ТО в процедуре PL-SQL - PullRequest
0 голосов
/ 13 мая 2019

Я должен создать процедуру для обновления строки в таблице DEPARTMENTS.Параметры: Department_id, название отдела, местоположение, manager_id отдела. Затем я должен проверить, является ли название отдела уникальным, если у нас есть такое местоположение в местоположениях TABLE, есть ли manager_id в сотрудниках TABLE.Если требования не выполнены, записи должны быть в ERROR_DEPARTMENTS.К сожалению, я не знаю, как включить каждый из параметров для проверки.Я провожу исследование и думаю, что мне нужно использовать IF / THEN, но я не уверен, где и как.

create unique index uni_dept on department_name;  

create table error_depart as select * From departments where 1 = 2;

create or replace procedure UPD_DEPARTMENT (v_depid  in number, v_depn in 
varchar2, v_lid in number,v_phn in number)
    is
    begin
      update DEPARTMENTS d set
        d.department_name = v_depn,
         d.location_id = v_lid
        where d.department_id = v_depid;
    exception
      when dup_val_on_index then
       insert into ERROR_DEPART (department_id, 
department_name,location_id) values (v_depid, v_depn,v_lid);
   end;

   begin
    UPD_DEPARTMENT(10, 'Finance', 1900,4);   
    UPD_DEPARTMENT(110, 'Naval', 1900,3);    
end;
...