sql >> Database teknologi >  >> RDS >> PostgreSQL

Dynamisk forespørgsel i triggerfunktion i PostgreSQL

Jeg var nødt til at ændre NEW til ($1) da det er referencen til den første bundne parameter.

Den korrekte forespørgsel er:

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. Er der nogen array-datatype i MySQL som i PostgreSQL?

  2. Hvordan ændres en PG-kolonne til NULLABLE TRUE?

  3. Aktiver logning af langsomme forespørgsler (langsom forespørgselslog) i MySQL-databasen

  4. hvordan man looper acceptere brugerinput med pl/sql?