Deseo crear una "declaración preparada" en postgres usando el módulo node-postgres. Quiero crearlo sin vincularlo a los parámetros porque el enlace tendrá lugar en un bucle.node-postgres: cómo preparar una declaración sin ejecutar la consulta?
En el documentation leí:
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.
Probé
client.query({"name":"mystatement", "text":"select id from mytable where id=$1"});
pero cuando intento pasar sólo las teclas de nombre de texto & en el objeto de configuración, consigo una excepción:
(traducido) el mensaje es vinculante 0 parámetros, pero la instrucción preparada espera 1
¿Hay algo que me falta? ¿Cómo se crea/prepara una declaración sin vincularla a un valor específico para evitar volver a prepararla en cada paso de un ciclo?
El problema con esta solución es que la declaración preparada que será ejecutado con los valores '' sean cuales sean utilizados durante la creación. También se siente incómodo usar la primera iteración del ciclo para la creación –
Así es como se diseñó la API, supongo, al menos eso es lo que obtuve leyendo los documentos y usándolos en uno de mis proyectos.La API espera que usted cree su objeto de consulta cuando necesite usarlo, y luego se dará cuenta si necesita preparar una declaración o no, dependiendo de si ya sabe sobre lo que pone en 'texto'. –