🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195685

Re: PostgreSQL - trigger pomija instrukcje

#195685
From: Marek S
Date: Mon, 04 Nov 2019 21:45
30 lines
1832 bytes
W dniu 2019-11-04 o 16:19, irq pisze:

> LOG nie pokazuje statementów wykonywanych z wnętrza funkcji. Nie
> oznacza to, że "update z niego nie jest realizowany".
> 

Znalazłem powód niedziałania update. Rozwiązałem go tak:

IF OLD.parent_id ISNULL THEN
   UPDATE admin.category SET weight = weight - 1 WHERE parent_id ISNULL 
AND weight > OLD.weight;

ELSE
   UPDATE admin.category SET weight = weight - 1 WHERE parent_id = 
OLD.parent_id AND weight > OLD.weight;

END IF;

Nie działa porównanie parent_id = OLD.parent_id jeżeli wartość jest 
nullem. Uświadomiłem sobie, że OLD.parent nie jest częścią SQL lecz 
zmienną, której wartość wstawiamy, więc parent_id = null nie może 
zadziałać. :-)

Czy orientujesz się czy istnieje jakiś trik umożliwiający unikanie 
nadmiarowych warunków w funkcjach?  Mam na myśli "legalne" triki.


-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <qpq658$jre$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <qpnjmv$f6a$1@news.icm.edu.pl> <77f293cb-2235-4f5f-9311-af76a76ba132@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.bazy-danych
Subject: Re: PostgreSQL - trigger pomija instrukcje
Date: Mon, 4 Nov 2019 22:45:09 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 30
Message-ID: <qpq658$jre$1@news.icm.edu.pl>
References: <qpnjmv$f6a$1@news.icm.edu.pl> <77f293cb-2235-4f5f-9311-af76a76ba132@googlegroups.com>
NNTP-Posting-Host: 89-77-183-104.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1572903912 20334 89.77.183.104 (4 Nov 2019 21:45:12 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Mon, 4 Nov 2019 21:45:12 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0
In-Reply-To: <77f293cb-2235-4f5f-9311-af76a76ba132@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit