node.js - 关系“schema.f()”不存在来自 Node-Postgres 的调用函数
问题描述
使用pg
又名node-postgres
v8.3
我有一个 PostgreSQL (v12) 函数f()
,名为myschema
. 它在 pgAdmin 4.25 中完美运行
select * from myschema.f()
在节点中调用它:
const Pool = require("pg").Pool;
const pool = new Pool(
{
user: ...,
}
);
const pgCallF = (paramless, cbFunc) =>
{
var sql = 'select * from "myschema"."f()"'; // same err if myschema.f(), but ok for query like 'select * from myschema.table1'
pool.query(sql)
.then
(
good =>
{...},
bad =>
{...}
)
.catch(error => {
console.log(error);
next();
})
}
拿到
关系“myschema.f()”不存在。
解决方案
括号是函数调用的一部分,而不是函数名的一部分。它们不会进入引号内(无论如何都不需要)。
现在您可以创建一个名称中带有括号的函数,在这种情况下,它们会放在引号内,而当您使用该函数时,另一对会放在引号内,但是 1)您没有这样做,并且 2)这将是一个恶魔反正想法。
推荐阅读
- woocommerce - woocommerce 搜索结果排序
- javascript - 在单页 Svelte 应用程序中设置页面标题的最佳位置/生命周期方法
- css - Aside 元素浮动在左边距
- java - 如何在 glassfish 上设置 HTTPS Java servlet
- django - 如何在 pycharm 中为 Heroku 部署添加 Procfile?
- reactjs - jest.requireActual 不是函数
- ios - “线程 1:致命错误:索引超出范围”错误无法解决
- c++ - 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- postgresql - 函数中的参数导致问题
- r - 在 R 3.4.3 和 R 3.6.0 之间更改存储在 data.table 中的闭包行为