Einfügen von Literalen in dynamische PL / PgSQL EXECUTE-Abfragen
Das Folgende ist Teil einer plpgsql-Funktion. Das Problem ist, dass das Ergebnis vonsource_geom
undtarget_geom
ist eincharacter varying
Datentyp, und deshalb muss ich die beiden umgebensource_geom
undtarget_geom
in Anführungszeichen (''). Die Sache ist, dass in plpgsql-Sprache, wie ich nicht weiß, ich kann es tun.
Folgendes habe ich momentan:
EXECUTE 'update ' || quote_ident(geom_table) ||
' SET source = ' || source_geom ||
', target = ' || target_geom ||
' WHERE ' || quote_ident(gid_cname) || ' = ' || _r.id;
Der Fehler, den ich habe, ist der folgende;
ERROR: syntax error at or near "C03B9E3B66052D400DDEFC2BD0F24140"
LINE 1: ...pdate track_points SET source = 0101000020E6100000C03B9E3B66...
^
QUERY: update track_points SET source = 0101000020E6100000C03B9E3B66052D400DDEFC2BD0F24140, target = 0101000020E610000075690DEF83052D40F88E75CCD4F24140 WHERE ogc_fid = 2
CONTEXT: PL/pgSQL function "create_network" line 26 at EXECUTE statement
Bitte irgendwelche Vorschläge, wie ich dieses Problem lösen kann.