Проверка на равенство триггеров PLSQL - PullRequest
0 голосов
/ 29 мая 2018

Мне нужен триггер для моего проекта в университете, который проверяет равенство перед вставкой в ​​таблицу.Это означает, что в таблице costumer есть переменная, которая называется username, и перед тем, как вставить новое имя пользователя, она должна проверить, существует ли имя пользователя.Я не знаю, как именно я должен это сделать.

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Это будет работать пока.

create or replace
TRIGGER BENUTZERNAME
BEFORE INSERT ON KUNDE
FOR EACH ROW
DECLARE 
counter number(10):=0;
BEGIN
select count(1) into counter from KUNDE where userid = :new.Benutzername;
if (counter >0)
Then RAISE_APPLICATION_ERROR(-20000,'Existiert bereits');
end if;
END;

Триггеры - плохой способ сделать это.Пожалуйста, попробуйте использовать уникальное ограничение.

0 голосов
/ 29 мая 2018
CREATE OR REPLACE TRIGGER BENUTZERNAME
BEFORE INSERT ON KUNDE. 
FOR EACH ROW
DECLARE 
    Benutzername KUNDE.Benutzername;
BEGIN
if (:new.Benutzername <> :old.Benutzername)
    Then RAISE_APPLICATION_ERROR(-20000,"Existiert bereits");
else 

*keep inserting the new name* 

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