pg-promise中的动态表名称

问题描述 投票:0回答:1

我想在pg-promise查询中动态选择表。以下代码无效,不胜感激!

return db.any('SELECT * from $1', table_name)

我收到的错误消息是:

error:  error: syntax error at or near 

我不确定是否应该使用帮助器,如此链接中所述:https://vitaly-t.github.io/pg-promise/helpers.TableName.html

pg-promise
1个回答
0
投票

直接方法是通过SQL Names

await db.any('SELECT * from $1:name', [table]);

并且使用模式:

await db.any('SELECT * from $1:name.$2:name', [schema, table]);

更通用的方法是通过TableName

const tn = new pgp.helpers.TableName({schema, table});

await db.any('SELECT * from $1', [tn]);
© www.soinside.com 2019 - 2024. All rights reserved.