Исключение внутри, если условие в plsql - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть курсор для вставки данных сотрудника из временной таблицы в основную таблицу.У меня есть сценарий, в котором сначала он проверит, существует ли идентификатор отдела временной таблицы в основной таблице отдела;если DeptId не существует, не вставляйте сотрудника и не обновляйте столбец ERR_MSG во временной таблице.Я обрабатываю исключение внутри условия if после оператора INSERT, но оно выдает мне ошибку типа

Обнаружен символ EXCEPTION при ожидании одного из следующих действий: начало, конец, регистр, еще ......

Пример кода приведен ниже: -

DECLARE
 --var list

    BEGIN
     OPEN ltempCur For

         -- here i am selecting cols from temp table in variables

     LOOP
        FETCH ltempCur 
     INTO 
       --all the declared variables here
     EXIT
    WHEN ltempCur %NOTFOUND;
    BEGIN

     --select statement for checking if employee record exist in table

     IF(lExist == 0)  --if emloyee record not exist
     THEN

       begin
         --check if dept exist in dept table if not exist then i have assigned zero to deptid variable in NO_DATA_FOUND exception
       end;

       IF(vardeptid > 0)  --if condition for which i have mentioned in description

       --Insert statement for employee

       EXCEPTION
       WHEN OTHERS
       THEN
           --handling exp
       COMMIT;
    END;         

       END IF; -- dept id check if end

     --end loop -- close cursor

В приведенном выше коде, если я уберу условие deptid IF ELSE, оно будет работать нормально, но с этим условием IFэто дает ошибку

1 Ответ

0 голосов
/ 17 ноября 2018

Есть один конец, если против двух предложений IF.Возможно, вы не завершили предложение IF для переменной lExists.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...