e203f1a48a
* feat(impala): add impala sqlLexer * feat(impala): add impala grammar * feat(impala): add alter table sql * feat(impala): update alter table sql * feat(impala): add alter db sql * feat(impala): add alter view sql * feat(impala): add compute stats/comment statement and update partition_desc for alter table * feat(impala): add drop statement sql * feat(impala): add revoke and grant sql * feat(impala): add create db/function/role/view sql * feat(impala): add describe/explain/invalidata_metadata/load_data sql * feat(impala): add refresh/set/shutdown sql * feat(impala): add truncate_table/use/values sql * fix(impala): update shutdown and invaliddate_metadata * feat(impala): add show/update/upsert sql * feat(impala): add create/insert sql * feat(impala): add select and delete sql * feat(impala): add impala tokens and fix todo * feat(impala): update impalaparser and some test unit * feat(impala): add syntax suggestion * feat(impala): add syntax suggestion * feat(impala): update test unit * feat(impala): remove reference * fix(impala): add statement for sqlname and collect tableName * fix(impala): fix syntax suggestion unit test * fix(impala): update syntax suggestion and collect column * feat(impala): add collect column create
146 lines
1.7 KiB
SQL
146 lines
1.7 KiB
SQL
/* UPDATE [database_name.]table_name SET col = val [, col = val ... ]
|
|
[ FROM joined_table_refs ]
|
|
[ WHERE where_conditions ] */
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = 1,
|
|
col2 = 2,
|
|
col3 = 3;
|
|
|
|
UPDATE
|
|
my_db.my_table
|
|
SET
|
|
col1 = 1;
|
|
|
|
UPDATE
|
|
my_db.my_table
|
|
SET
|
|
col1 = 1
|
|
WHERE
|
|
col2 = 1;
|
|
|
|
UPDATE
|
|
my_db.my_table
|
|
SET
|
|
col1 = 1
|
|
WHERE
|
|
col2 = 1
|
|
AND col3 BETWEEN 100
|
|
AND 300;
|
|
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = 'new_value'
|
|
FROM
|
|
other_table
|
|
WHERE
|
|
my_table.id = other_table.id;
|
|
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = (
|
|
SELECT
|
|
MAX(col2)
|
|
FROM
|
|
other_table
|
|
WHERE
|
|
other_table.id = my_table.id
|
|
)
|
|
WHERE
|
|
col3 = 'value';
|
|
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = CASE
|
|
WHEN col2 > 10 THEN 'High'
|
|
WHEN col2 > 5 THEN 'Medium'
|
|
ELSE 'Low'
|
|
END
|
|
WHERE
|
|
col3 = 'value';
|
|
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = (
|
|
SELECT
|
|
AVG(col2)
|
|
FROM
|
|
other_table
|
|
WHERE
|
|
other_table.id = my_table.id
|
|
GROUP BY
|
|
other_table.id
|
|
)
|
|
WHERE
|
|
col3 = 'value';
|
|
|
|
UPDATE
|
|
my_table
|
|
SET
|
|
col1 = other_table.val1
|
|
FROM
|
|
my_table
|
|
JOIN other_table ON my_table.id = other_table.id
|
|
WHERE
|
|
my_table.col2 = 'value';
|
|
|
|
--example
|
|
UPDATE
|
|
kudu_table
|
|
SET
|
|
c3 = 'not applicable';
|
|
|
|
UPDATE
|
|
kudu_table
|
|
SET
|
|
c3 = NULL
|
|
WHERE
|
|
c1 > 100
|
|
AND c3 IS NULL;
|
|
|
|
UPDATE
|
|
kudu_table
|
|
SET
|
|
c3 = 'impossible'
|
|
WHERE
|
|
1 = 0;
|
|
|
|
UPDATE
|
|
kudu_table
|
|
SET
|
|
c3 = upper(c3),
|
|
c4 = FALSE,
|
|
c5 = 0
|
|
WHERE
|
|
c6 = TRUE;
|
|
|
|
UPDATE
|
|
kudu_table
|
|
SET
|
|
c3 = upper(c3)
|
|
FROM
|
|
kudu_table
|
|
JOIN non_kudu_table ON kudu_table.id = non_kudu_table.id;
|
|
|
|
UPDATE
|
|
t1
|
|
SET
|
|
c3 = upper(c3)
|
|
FROM
|
|
kudu_table t1
|
|
JOIN non_kudu_table t2 ON t1.id = t2.id;
|
|
|
|
UPDATE
|
|
t1
|
|
SET
|
|
c3 = upper(c3)
|
|
FROM
|
|
kudu_table t1
|
|
JOIN non_kudu_table t2 ON t1.id = t2.id
|
|
WHERE
|
|
c3 != upper(c3); |