Oracle - 是否有复合赋值 (+=)

use*_*900 2 sql oracle

我需要更新许多数字列,我必须重复列名吗

update TABLENAME set COLUMN1 = COLUMN1 + ?, COLUMN2 = COLUMN2 + ?
Run Code Online (Sandbox Code Playgroud)

或者是否有像java一样的复合赋值

update TABLENAME set COLUMN1 +=  ?,COLUMN2 +=  ?
Run Code Online (Sandbox Code Playgroud)

您还可以将算术运算符与简单赋值运算符结合起来创建复合赋值。例如,x+=1;

如果没有,是否对此类要求进行了增强?

这不是类似 PLSQL 问题的重复,我问的是 Oracle SQL

Bob*_*ica 5

SQL 或 PL/SQL中没有+=-=、 等运算符。

  • @user7294900:如果您希望在 Oracle 中实现这一点,您需要使用 Oracle 创建功能请求 - 祝您好运。如果你想在 SQL 中使用它,你需要说服标准委员会将其包含到语言中。 (3认同)
  • @a_horse_with_no_name - ...然后你必须说服 Oracle 他们需要尽快支持它。这就是《银河系漫游指南》中所说的“娱乐上的不可能”。 (2认同)