RE: PostgreSQL
Witam,
mam taki problem, znalazłem BUG-a albo czegoś nie rozumiem.
Warstwa z QGIS (3.14) ustawiona jako poligon, ma dodany wyzwalacz TRIGGER z oreślonymi funkcjami autouzupełniania pól.
Nawet zrobiłem prostą warstwę tylko ID, POLE_TEXT . Funkcja SQL od strony postgis bez błędów, wszystko działa.
Problem powstaje przy działaniu z warstwą punktową. Te same skrypty nie działają.
Nie obsługuje triggera prawidłowo.
Sygnał odbiera bo uruchamia funkcję. Jednak funkcja nie widzi już pól (kolumn) warstwy.
Trigger:
CREATE TRIGGER TEST_trigger
AFTER INSERT OR UPDATE OR DELETE
ON public."TEST"
FOR EACH ROW
EXECUTE PROCEDURE public.TEST_function();
Funkcja:
CREATE OR REPLACE FUNCTION public.TEST_function()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
CASE TG_OP
WHEN 'INSERT' THEN
NEW.Fild1 = (
'try to do something'
);
UPDATE public."TEST" SET "Fild1" = NEW.Fild1 WHERE pbulic."TEST"."id"=NEW.id ;
RETURN NULL;
WHEN 'UPDATE' THEN
RETURN NULL;
WHEN 'DELETE' THEN
RETURN NULL;
END CASE;
END;
$BODY$
LANGUAGE plpgsql
Czy ktoś ma jakieś doświadczenia i rozwiązania problemu?
|