小编Zai*_*bis的帖子

<set 子句> 的 <multiple column assignment>

我只知道一点 sql 基础知识,需要编写一个简单的 sql 语法荧光笔/检查器所以我正在努力通过标准......我偶然发现了一些我不确定我是否理解正确的东西,因为我从未见过有人使用一个SET以这种方式。

它的定义如下所示:

<multiple column assignment> ::=
<set target list> <equals operator> <assigned row>
Run Code Online (Sandbox Code Playgroud)

以这种方式定义设置目标列表的地方:

<set target list> ::=
<left paren> <set target> [ { <comma> <set target> }... ] <right paren>
Run Code Online (Sandbox Code Playgroud)

这对我来说听起来是可以做到的:

UPDATE ...
SET (A, B, C) = (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

将 A 的值更新为 1,B 的值更新为 2,C 的值更新为 3。

我让反刍的是=因为我从来没有见过这样的 SET 并且在网上找不到任何使用这种方式的例子。

所以我也不确定是否正确理解整个定义。

有人能告诉我这是正确的吗?如果不是这样,你能解释一下这个定义的其他定义吗?

sql-standard

7
推荐指数
1
解决办法
95
查看次数

标签 统计

sql-standard ×1