Здравствуйте, мне нужно создать тригер который выполняется перед вставкой новой записи в таблицу клиентов продуктового магазина. Триггер проверяет значения, которые должна содержать новая запись и может их изменить:
· eсли не указано имя клиента – оно генерируется по схеме – Klient + уникальный номер из последовательности;
Как проверить указано имя клиента или нет? Пытался сравнивать с NULL и '', не работает.
Приведу код который написал, сильно не ругайте, я только вникаю в это все
create or replace function addClient()
returns trigger as $$
Declare
newCity int;
newName varchar(20);
newId int;
newVolume int;
Begin
if new.name == '' then
newName = 'Klient' || make_uid();
else newName = new.name;
end if;
if new.city == '' then
newCity = 3;
else newCity = new.city;
end if;
newId = new.id;
if new.volume == '' then
if newCity == 3 then
newVolume = 5;
else newVolume = 0;
end if;
else newVolume = new.volume;
end if;
insert into client (id, name, city, volume) values (newId, newName, newCity, newVolume);
return new;
END;
$$language plpgsql;