Ich möchte eine "vorbereitete Aussage" in Postgres mit dem Knoten-Postgres-Modul erstellen. Ich möchte es erstellen, ohne es an Parameter zu binden, da die Bindung in einer Schleife stattfinden wird.node-postgres: Wie erstellt man eine Anweisung, ohne die Abfrage auszuführen?
Im documentation i lesen:
query(object config, optional function callback) : Query
If _text_ and _name_ are provided within the config, the query will result in the creation of a prepared statement.
Ich versuchte
client.query({"name":"mystatement", "text":"select id from mytable where id=$1"});
aber wenn ich nur die Text & Namenstasten in der Config-Objekt versuchen vorbei, erhalte ich eine Ausnahme:
(übersetzte) Nachricht ist bindende 0 Parameter, aber die vorbereitete Anweisung erwartet 1
Gibt es etwas, das mir fehlt? Wie erstellen/bereiten Sie eine Anweisung auf, ohne sie an einen bestimmten Wert zu binden, um zu vermeiden, dass die Anweisung in jedem Schritt einer Schleife neu erstellt wird?
Das Problem bei dieser Lösung ist, dass die vorbereitete Anweisung wird zum Zeitpunkt der Erstellung verwendet mit den ‚was auch immer‘ Werte ausgeführt werden. Es fühlt sich auch akkiv an, die erste Iteration der Schleife für die Erstellung zu verwenden. –
Das ist, wie die API entworfen wird, nehme ich an, zumindest habe ich das von den Dokumenten bekommen und es in einem meiner eigenen Projekte benutzt.Die API erwartet von Ihnen, dass Sie Ihr Abfrageobjekt erstellen, wenn Sie es verwenden müssen, und dann wird es herausfinden, ob es eine Anweisung vorbereiten muss oder nicht, je nachdem, ob es weiß, was Sie bereits in "Text" eingegeben haben. –