Temat: Wyjątek z funkcji
Witam
Mam taka funkcje która kasuje rekord, a jeżeli jest on powiązany z inną tabelą i jest błąd ( nie ma usuwania kaskadowego) to ma zwrócić wartość z kolumny nazwa_towaru tabeli z której usuwamy.
CREATE OR REPLACE FUNCTION fkasuj_do_usuniecimagazyn (
"zm_nr_towaru_skladnik" integer
)
RETURNS VARCHAR AS
$body$
begin
delete from tab_magazyn where nr_towaru_skladnik = zm_nr_towaru_skladnik;
return 0;
EXCEPTION
WHEN foreign_key_violation THEN
RAISE NOTICE 'Powiazane rekordy';
RETURN nazwa_towaru;
end;
$body$
LANGUAGE 'plpgsql'
SECURITY DEFINER
Funkcja się kompiluje ale przy wywołaniu select * from fkasuj_do_usuniecimagazyn(72) dostaje błąd że kolumna nazwa_towaru nie istnieje
NOTICE: Powiazane rekordy
ERROR: column "nazwa_towaru" does not exist
LINE 1: SELECT nazwa_towaru
W jaki sposób to naprawić?
Z góry dzięki za pomoc
AdamP.
Ostatnio edytowany przez adamleon (2011-01-22 16:49:54)