Temat: return z wyzwalacza
Witam!
Mam takie ogólne pytanie o zwracanie wartości przez wyzwalacz. Mam funkcję wyzwalacza w którym sprawdzam czy jest dana tabela w bazie jeżeli nie ma to muszę ją utworzyć. Sprawdzenie jest w takiej składni:
SELECT INTO str tablename FROM pg_tables WHERE tablename=(Pojazd::integer)::varchar;
IF not found THEN
PERFORM f_int_CreateTable_tbl(Pojazd);
RETURN NEW;
END IF;
To jest tylko fragment całego wyzwalacza i jeżeli nie dam w tym bloku IF END IF wyrażenia RETURN to postgres zgłasza błąd że wyzwalacz nie zwraca żadnej wartości jednak jak dam RETURN to działanie funkcji kończy się w tym miejscu i nie wykonuje się dalej. Czy wobec tego muszę przebudować funkcję wyzwalacza czy np. przenieść sprawdzanie czy jest dana tabela do funkcji tworzącej tabele i wówczas powstało by coś w rodzaju CREATE TABLE IF NO EXISTS?