【问题标题】:Redirect postgres connectby into a table将 postgres connectby 重定向到表中
【发布时间】:2020-09-27 15:38:25
【问题描述】:

我正在使用带有 tablefunc 扩展的 postgres 9.6 来使用 connectby 函数生成层次表。我的语法是

SELECT * 
FROM connectby('depTree2', 'id', 'parentid', 'sequence', '{4472}',0)
AS t(keyid text, parent_keyid text, level int, pos int)

一旦我收集到了数据,我想用它做更多的后处理,所以我需要将 connectby 命令的输出定向到一个表中。我尝试在 AS 短语的两侧添加 INTO,但没有运气。这可能吗?

【问题讨论】:

  • create table tree as select ...

标签: sql postgresql sql-insert create-table connect-by


【解决方案1】:

你在insert ... select吗?

INSERT INTO target_table(keyid text, parent_keyid text, level int, pos int)
SELECT * 
FROM connectby('depTree2', 'id', 'parentid', 'sequence', '{4472}',0)
AS t(keyid text, parent_keyid text, level int, pos int)

如果您有一个已经存在的表,则此方法有效。另一方面,如果你想创建一个新表,那么:

CREATE TABLE target_table AS
SELECT * FROM connectby('depTree2', 'id', 'parentid', 'sequence', '{4472}',0)
AS t(keyid text, parent_keyid text, level int, pos int)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 2012-07-31
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2017-11-24
    • 2017-03-24
    • 2013-09-03
    相关资源
    最近更新 更多