所以我正在尝试更新Presto SQL中表列的值;但是,Presto文档中似乎没有UPDATE查询,如下所述:https://prestodb.github.io/docs/current/sql.html
所以基本上我的脚本涉及一系列合并一堆表的查询,然后在最后我想更新表的一列的值
WITH tableA AS (
do stuff here
),
tableB AS (
do stuff here
),
.
.
.
.
finalTable AS (
do final merge of tables from above
)
UPDATE
finalTable
SET
colD = REPLACE( REPLACE( REPLACE(UPPER(colD), '[', ''), ']', ''), ':', '')
WHERE
colD IS NOT NULL
SELECT *
FROM
finalTable
我尝试使用ALTER TABLE
(https://prestodb.github.io/docs/current/sql/alter-table.html),它似乎足够接近UPDATE
但也没有运气,并且会给出以下错误mismatched input 'ALTER'. Expecting: '(', 'SELECT', 'TABLE', 'VALUES'
有谁知道在 Presot 中进行列更新的正确方法?
在 Presto 中无法更新。我认为PrestoSQL存储库正在进行一些工作,以利用Presto中的Hive ACID使其用于更新/删除。alter 命令对于 DDL 要求将非常具体,当您想要更新表中的某些值时将不适用。