Mam kwerendy wewnątrz procedury składowanej, która podsumowuje pewne wartości wewnątrz tabeli:zwróci zero, jeśli nie znaleziono rekordu
SELECT SUM(columnA) FROM my_table WHERE columnB = 1 INTO res;
Następnie wybierz odjąć res
wartości z całkowitą odzyskane przez innego zapytania i powrót wynik. Jeśli zostanie sprawdzona klauzula WHERE
, wszystko działa poprawnie. Ale jeśli tak nie jest, cała moja funkcja zwraca pustą kolumnę (może dlatego, że próbuję odjąć liczbę całkowitą z pustą wartością).
W jaki sposób sprawić, aby zapytanie zwróciło zero, jeśli klauzula WHERE
nie jest spełniona?
'INTO var' załączonym do' 'SELECT ... jest ważna tylko w kodzie PL/PGSQL, a nie zwykły SQL . Zakładam, że jest to część funkcji PL/pgSQL lub instrukcji 'DO'. Poprawny? –