-- Wyzwalacz kaskadowy, wstawiający dodatkowo do innej tabeli. 

create or replace function f4 () returns trigger as $$
begin
  if ((select count(*) from gatunki where nazwa = new.gatunek) = 0)
  then
    insert into gatunki values (new.gatunek);
  end if;
  return new;
end;
$$ language plpgsql;

create trigger t4 before insert on zwierzaki for each row
execute procedure f4();

