postgres:get 来自带有参数的查询的可执行查询
postgres:get executable query from query with parameters
有什么方法可以从带有 $parameters.Actually 的查询中获取可执行查询吗?这很奇怪,但我想将可执行查询存储在 database.A 不带参数的完整查询中($1,$2,$3)
我正在使用 node-postgres
pg.connect(conString, function(err, client, done) {
console.log('Executing Insert query');
client.query('insert into tablename(column1,column2,column3) values(,,)',["data1","data2","data3"], function(err, result) {
done();
console.log('finished executing Insert query');
});
});
这就是我需要的
insert into tablename(column1,column2,column3) values("data1","data2","data3")
您可能想在 PostgreSQL 中创建一个接受查询名称和参数作为参数的过程,该过程可以准备您传入的查询并使用参数执行。 MySQL 中有一个如何执行此操作的示例,请在下面找到。
How To have Dynamic SQL in MySQL Stored Procedure
http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
pg-promise 有一个可以独立于查询使用的查询格式化引擎。
const pgp = require('pg-promise')(/* Initialization Options */);
const query = pgp.as.format('INSERT INTO table(column1,column2,column3) VALUES(,,)',
["data1", "data2", "data3"]);
console.log(query);
输出:
INSERT INTO table(column1,column2,column3) VALUES('data1','data2','data3')
更新
有关使用单个 INSERT
查询的高性能方法,请参阅 。
有什么方法可以从带有 $parameters.Actually 的查询中获取可执行查询吗?这很奇怪,但我想将可执行查询存储在 database.A 不带参数的完整查询中($1,$2,$3)
我正在使用 node-postgres
pg.connect(conString, function(err, client, done) {
console.log('Executing Insert query');
client.query('insert into tablename(column1,column2,column3) values(,,)',["data1","data2","data3"], function(err, result) {
done();
console.log('finished executing Insert query');
});
});
这就是我需要的
insert into tablename(column1,column2,column3) values("data1","data2","data3")
您可能想在 PostgreSQL 中创建一个接受查询名称和参数作为参数的过程,该过程可以准备您传入的查询并使用参数执行。 MySQL 中有一个如何执行此操作的示例,请在下面找到。
How To have Dynamic SQL in MySQL Stored Procedure
http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
pg-promise 有一个可以独立于查询使用的查询格式化引擎。
const pgp = require('pg-promise')(/* Initialization Options */);
const query = pgp.as.format('INSERT INTO table(column1,column2,column3) VALUES(,,)',
["data1", "data2", "data3"]);
console.log(query);
输出:
INSERT INTO table(column1,column2,column3) VALUES('data1','data2','data3')
更新
有关使用单个 INSERT
查询的高性能方法,请参阅