Cześć, mam zapytanie obliczające checksumę w funkcji, której uzywam w trigerze.
CREATE OR REPLACE FUNCTION calculate_language_version_checksum() RETURNS trigger
LANGUAGE plpgsql AS '
BEGIN
UPDATE language_versions lv SET checksum =
(select
MD5(cast((array_agg(inv.name || t.message order by t.id)) as text))
from invariants inv
left join translations t on t.invariant_id = inv.id and lv.id = NEW.language_version_id)
WHERE lv.id = NEW.language_version_id;
RETURN NEW;
END
'
Chciałbym użyć tego samego zapytania, żeby wykonało się dla wszystkich rekordów gdzie checksuma jest równa null
. Potrzebuje przejść po wszystkich reokordach, więc chyba potrzebowałbym użyć go w jakiejs funkcji oraz w pętli, jak mogę to zrobić ?