У меня есть функция для обновления пароля экрана, теперь я хочу добавить ту же функцию для другого экрана с некоторыми другими параметрами - PullRequest
0 голосов
/ 29 апреля 2019

Проблема в том, что когда я пытаюсь сделать свою функцию с двумя разными операторами во время компиляции, это происходит ошибка

Это моя целая функция для обновления пароля, но есть ошибки при компиляции

create or replace FUNCTION updatePassword(
CurrentP VARCHAR2,
NewPwd VARCHAR2,
StudentId number)
RETURN number

    is
        getCount number :=0;

    BEGIN
        Select count(*) into getCount from users where student_id=StudentId and Password=md5(CurrentP);
        if getCount = 1
        then 
        update users set Password=md5(NewPwd) where student_id=StudentId and Password=md5(CurrentP);
      insert into users_log(Passwords,student_id,updated_by,action) values(md5(CurrentP),StudentId,StudentId,'Change');
        else
        getCount := 0;
        end if;
    RETURN getCount;
    END;

ниже относится к тому же действию для другого экрана, но произойдет ошибка во время компиляции изображения

enter image description here

    DECLARE
    NazimId number;
    BEGIN
        Select count(*) into getCount from nazim_login where nazim_id=NazimId and Password=md5(CurrentP);
        if getCount = 1
        then 
        update nazim_login set Password=md5(NewPwd) where nazim_id=NazimId and Password=md5(CurrentP);
      insert into nazim_password_log(Passwords,nazim_id,updated_by,action) values(md5(CurrentP),NazimId,NazimId,'Change');
        else
        getCount := 0;
        end if;
    RETURN getCount;
    END;


BEGIN
        Select count(*) into getCount from users where student_id=StudentId and Password=md5(CurrentP);
        if getCount = 1
        then 
        update users set Password=md5(NewPwd) where student_id=StudentId and Password=md5(CurrentP);
      insert into users_log(Passwords,student_id,updated_by,action) values(md5(CurrentP),StudentId,StudentId,'Change');
        else
        getCount := 0;
        end if;
    RETURN getCount;
    END;

ниже относится к тому же действию для другого экрана, но происходит ошибка во время компиляции

DECLARE
    NazimId number;
    BEGIN
        Select count(*) into getCount from nazim_login where nazim_id=NazimId and Password=md5(CurrentP);
        if getCount = 1
        then 
        update nazim_login set Password=md5(NewPwd) where nazim_id=NazimId and Password=md5(CurrentP);
      insert into nazim_password_log(Passwords,nazim_id,updated_by,action) values(md5(CurrentP),NazimId,NazimId,'Change');
        else
        getCount := 0;
        end if;
    RETURN getCount;
    END;

функция компиляции с инструкциями начала и конца

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