Triggertest, неверное утверждение - PullRequest
0 голосов
/ 11 октября 2018

решено Забыли "Вставить" перед "или обновить" в триггере.

 create or replace trigger biufer_bankkund
before insert or update on bankkund
for each row
begin
if NOT LENGTH (:NEW.PASSWD) = 6 then
raise_application_error
(-20001,'För låg ny lön!');
end if;
end;

Поэтому я создал триггер, который должен поддерживать пароли, содержащие только 6 букв.

Я предполагаю, что это неверный триггер, как я сделал Select * from bankkund и в нем были данные с паролем, состоящим всего из 3 букв.

create or replace trigger biufer_bankkund
before update on bankkund
for each row
begin
if NOT LENGTH (:NEW.PASSWD) = 6 then
raise_application_error
(-20001,'För låg ny lön!');
end if;
end;

Затем процедура спараметры PNR, FNAMN, ENAMN, PASSWD.

create or replace procedure do_bankkund(
p_pnr in bankkund.pnr%type,
p_fnamn in bankkund.fnamn%type,
p_enamn in bankkund.enamn%type,
p_passwd in bankkund.passwd%type)
is
begin
insert into bankkund(pnr,fnamn,enamn,passwd)
values(p_pnr,p_fnamn,p_enamn,p_passwd);
end;
/

Все прошло хорошо, но выполнилось и триггерное тестирование, чтобы проверить, вернет ли меня больше / меньше 6 букв в PASSWD, вернет ли мне ошибку с «текстом ошибки»).Но я получил только «Неверное заявление»

Кто-нибудь?Спасибо

Triggertest  =   EXEC do_bankkund('691124-4478','Leena','Kvist','qwe');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...