Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
PostgreSQL
29-07-2020, 13:26,
#4
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?


Wiadomości w tym wątku
PostgreSQL - przez GisUser - 06-08-2018, 09:12
RE: PostgreSQL - przez Binko - 08-08-2018, 12:06
RE: PostgreSQL - przez GisUser - 08-08-2018, 14:47
RE: PostgreSQL - przez wincent3 - 29-07-2020, 13:26

Skocz do: