UPDATE
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime
Bir koşulla eşleşen satırların sütun değerlerini güncelleştirir. Koşul sağlanmazsa, tüm satırlar için sütun değerlerini güncelleştirin.
Bu deyim yalnızca Delta Lake tabloları için desteklenir.
Sözdizimi
UPDATE table_name [table_alias]
SET { { column_name | field_name } = [ expr | DEFAULT } [, ...]
[WHERE clause]
Parametreler
-
Güncelleştirilecek tabloyu tanımlar. Tablo adı, zamansal belirtim ya daseçenek belirtimi kullanmamalıdır.
table_name
yabancı tablo olmamalıdır. -
Tablo için bir diğer ad tanımlayın. Diğer ad bir sütun listesi içermemelidir.
-
Tablo üzerinde bir sütuna referans. Her sütuna en fazla bir kez başvurabilirsiniz.
-
STRUCT türünde bir sütun içindeki alana başvuru. Her alana en fazla bir kez başvurabilirsiniz.
-
Rastgele bir ifade.
table_name
sütunlara başvurursanız, bunlar güncelleştirmeden önceki satırın durumunu temsil ederler. TEMERRÜT
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
Tanımlanmışsa sütun için
DEFAULT
ifadesi, aksi takdirde NULL.-
Satırları koşula göre filtreleyin. yan tümcesi
WHERE
aşağıdaki özel durumlara sahip alt sorgular içerebilir:- İç içe alt sorgular, yani başka bir alt sorgu içindeki bir alt sorgu
- bir
NOT IN
içindeki birOR
alt sorgu, örneğin,a = 3 OR b NOT IN (SELECT c from t)
Çoğu durumda, kullanarak
NOT IN
alt sorguları yenidenNOT EXISTS
yazabilirsiniz. Alt sorgularNOT EXISTS
yavaş olabileceği gibiUPDATE
mümkün olduğunda kullanmanızNOT IN
gerekir.
Örnekler
> UPDATE events SET eventType = 'click' WHERE eventType = 'clk'
> UPDATE all_events
SET session_time = 0, ignored = true
WHERE session_time < (SELECT min(session_time) FROM good_events)
> UPDATE orders AS t1
SET order_status = 'returned'
WHERE EXISTS (SELECT oid FROM returned_orders WHERE t1.oid = oid)
> UPDATE events
SET category = 'undefined'
WHERE category NOT IN (SELECT category FROM events2 WHERE date > '2001-01-01')
> UPDATE events
SET ignored = DEFAULT
WHERE eventType = 'unknown'