Jadi saya mencoba memperbarui nilai kolom tabel di Presto SQL; namun, tampaknya tidak ada kueri UPDATE dalam dokumentasi Presto seperti yang tercantum di sini: https: //prestodb.github.io/docs/current/sql.html

Jadi pada dasarnya skrip saya melibatkan serangkaian kueri yang menggabungkan banyak tabel dan kemudian di bagian paling akhir saya ingin memperbarui nilai salah satu kolom tabel

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

Saya sudah mencoba menggunakan ALTER TABLE (https://prestodb .github.io/docs/current/sql/alter-table.html) yang tampaknya cukup dekat dengan UPDATE tetapi juga tidak beruntung dan akan memberikan kesalahan berikut mismatched input 'ALTER'. Expecting: '(', 'SELECT', 'TABLE', 'VALUES' Adakah yang tahu cara yang tepat untuk melakukan pembaruan kolom di Presot?

2
Sam 14 Agustus 2019, 01:09

1 menjawab

Jawaban Terbaik

Pembaruan tidak dimungkinkan di Presto. Saya pikir beberapa pekerjaan sedang berlangsung di repo PrestoSQL untuk memanfaatkan Hive ACID di Presto agar berfungsi untuk memperbarui/menghapus. Dan perintah alter akan sangat spesifik untuk persyaratan DDL dan tidak akan berlaku ketika Anda ingin memperbarui beberapa nilai dalam sebuah tabel.

2
Ashish 14 Agustus 2019, 04:47