Trino(以前称为 Presto)INSERT 是否适用于 CTE?

Does Trino (formerly Presto) INSERT work with CTEs?

我正在尝试使用以下形式的查询将行插入到 table 中:

with my_CTE as 
(SELECT a,b,c
FROM my_source_table
WHERE <some conditions to apply>)

INSERT INTO my_destination_table
SELECT a, b, c
FROM my_CTE;

出现这个错误:

输入不匹配 'INSERT'。期待:'(', 'SELECT', 'TABLE', 'VALUES'

我知道 CTE 编写正确,因为我可以用它做其他事情。 我知道 table 存在于 CTE 中可用的列中,因为我可以使用 Hive 写入它,如上所示。

Trino是否不支持 CTE 和 INSERT 一起工作,如上所示?

我有理由想使用 Trino 而不是 Hive。

我把 CTE 和 INSERT 的顺序倒过来了。

这个有效:


INSERT INTO my_destination_table

with my_CTE as 
(SELECT a,b,c
FROM my_source_table
WHERE <some conditions to apply>)

SELECT a, b, c
FROM my_CTE;

在我上面的评论中查看之前的 Stack Exchange 问答。