【问题标题】:Execute WITH RECURSIVE using sails-postgresql使用sails-postgresql 执行 WITH RECURSIVE
【发布时间】:2018-01-10 12:29:47
【问题描述】:

我正在使用带有sails-postgresql (0.11.4) 数据库连接器的Sails 服务器。

尝试执行 WITH RECURSIVE 查询:

this.query({ 文字:

WITH RECURSIVE recursetree(name, parent) AS (
SELECT name, parent
FROM data_indicators

UNION ALL
  SELECT t.name, t.parent
  FROM data_indicators t, recursetree rt 
  WHERE rt.name = t.parent
);
SELECT * FROM recursetree`
}, (err, res) => {

  ....

我收到关于“;”的错误但查询也失败了,只有 WITH 语句

真的可以使用sails-postgresql 执行这种查询。有没有最好的办法?

问候

【问题讨论】:

  • 我试图恢复你的格式,但我不明白反引号和额外的}); 字符的意图。
  • 我删除了查询答案的管理 if (err) {console.log(err);return reject(err);} return resolve({ registers: res.rows.length, data: res .rows,偏移量:reqParams.skip }); }); “resolve”表示之前存在“Promise”,“offset”表示存在参数“skip”等,在这种情况下不相关

标签: postgresql recursion sails.js


【解决方案1】:

在 Postgres 中使用子句(或公用表表达式 (CTE) 以赋予它们正确的名称)不希望尾随分号。

with
    cte_name as(
        select * from foo
    )
select * from cte_name

因此,删除 CTE 后的尾随分号即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 2023-03-27
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2022-08-18
    • 2016-10-02
    • 2015-09-24
    相关资源
    最近更新 更多