更新<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/#update" title="">
适用于:砖的SQL砖运行时
更新的列值行匹配谓词。当没有提供谓词,更新的列值的行。
这种说法只支持三角洲湖表。
语法<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/#syntax" title="">
更新table_name(table_alias]集{{column_name|field_name}=(expr|默认的}(,…](在哪里条款]
参数<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/#parameters" title="">
标识表更新。表名不能使用<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/sql-ref-names.html">时间规范。
table_name
不得外国表。为表定义一个别名。别名必须不包括列清单。
引用表中的一列。你可以参考每一列最多一次。
引用字段在一个结构体类型的列。你可以参考每个字段最多一次。
一个任意的表达式。如果你参考
table_name
列代表行之前的状态更新。默认的
适用于:砖的SQL<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/release-notes/index.html">SQL仓库2022.35版本或更高版本砖运行时11.2及以上
的
默认的
列的表达式如果一个定义,否则空。通过谓词过滤行。的
在哪里
条款可能包括子查询以下异常:内嵌套的子查询,子查询另一个查询
一个
不在
子查询在一个或
例如,一个=3或b不在(选择c从t)
在大多数情况下,您可以重写
不在
子查询使用不存在
。你应该使用不存在
只要有可能,如更新
与不在
子查询可以缓慢。
例子<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/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=“未知”