更新<一個class="headerlink" href="//www.eheci.com/docs/spark/latest/spark-sql/language-manual/#update" title="">
適用於:磚的SQL磚運行時
更新的列值行匹配謂詞。當沒有提供謂詞,更新的列值的行。
這種說法隻支持三角洲湖表。
語法<一個class="headerlink" href="//www.eheci.com/docs/spark/latest/spark-sql/language-manual/#syntax" title="">
更新table_name(table_alias]集{{column_name|field_name}=(expr|默認的}(,…](在哪裏條款]
參數<一個class="headerlink" href="//www.eheci.com/docs/spark/latest/spark-sql/language-manual/#parameters" title="">
標識表更新。表名不能使用<一個class="reference internal" href="//www.eheci.com/docs/docs/spark/latest/spark-sql/language-manual/sql-ref-names.html">時間規範。
為表定義一個別名。別名必須不包括列清單。
引用表中的一列。你可以參考每一列最多一次。
引用字段在一個結構體類型的列。你可以參考每個字段最多一次。
一個任意的表達式。如果你參考
table_name
列代表行之前的狀態更新。默認的
適用於:磚的SQL<一個class="reference internal" href="//www.eheci.com/docs/docs/spark/latest/spark-sql/release-notes/index.html">SQL倉庫2022.35版本或更高版本磚運行時11.2及以上
的
默認的
列的表達式如果一個定義,否則空。通過謂詞過濾行。的
在哪裏
條款可能包括子查詢以下異常:內嵌套的子查詢,子查詢另一個查詢
一個
不在
子查詢在一個或
例如,一個=3或b不在(選擇c從t)
在大多數情況下,您可以重寫
不在
子查詢使用不存在
。你應該使用不存在
隻要有可能,如更新
與不在
子查詢可以緩慢。
例子<一個class="headerlink" href="//www.eheci.com/docs/spark/latest/spark-sql/language-manual/#examples" title="">
>更新事件集eventType=“點擊”在哪裏eventType=“時鍾”>更新all_events集session_time=0,忽略了=真正的在哪裏session_time<(選擇最小值(session_time)從good_events)>更新訂單作為t1集order_status=“返回”在哪裏存在(選擇oid從returned_orders在哪裏t1。oid=oid)>更新事件集類別=“定義”在哪裏類別不在(選擇類別從events2在哪裏日期>“2001-01-01”)>更新事件集忽略了=默認的在哪裏eventType=“未知”