sql >> Database >  >> RDS >> PostgreSQL

Dynamische query in triggerfunctie in PostgreSQL

Ik moest de NEW . wijzigen naar de ($1) omdat het de verwijzing is naar de eerste gebonden parameter.

De juiste vraag is:

CREATE OR REPLACE FUNCTION "Site"."UpdateAncestorModified"()
  RETURNS trigger AS
$BODY$BEGIN
    EXECUTE
        format
        ('
            UPDATE 
                "' || TG_TABLE_SCHEMA || '"."' || TG_TABLE_NAME || '" 
            SET
                modified = ($1).modified
            WHERE
                id = ($1)."ancestorId"
            AND
                modified <> ($1).modified
        ')
    USING
        NEW;
    RETURN NEW;
END$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;



  1. Stel een herhalende waarde in op 0 terwijl u de eerste waarde alleen laat

  2. Werk een lijst met dingen bij zonder elk item te raken

  3. Hoe u uw PostgreSQL-databases kunt beschermen tegen cyberaanvallen met SQL Firewall

  4. Kan geen verbinding maken met MySQL-server op 'localhost' (10061)