一次更新表中的30个字段

时间:2012-04-18 04:55:02

标签: sql oracle

我需要在表格中更新30列的2列。尝试使用dbms实用程序 - 数组,但它不接受空格。请建议一次更新30行的优化方法。

1 个答案:

答案 0 :(得分:2)

我想这取决于“一气呵成”的定义,以及您尝试将其设置为新值,但oracle的标准SQL更新语法应该让您按照自己的意愿行事。

UPDATE <table_name>
SET <column1_name> = <value1>, <column2_name> = <value2>
WHERE <column_name> = <value>

如果设置where子句以便唯一标识要更新的列,则此语句将仅更新这些行的列。这可以像WHERE IN [,]一样简单。如果您无法唯一标识要更新的行,则执行此操作变得更加困难,您可能需要子选择或临时表来存储您需要更新的记录的键,并针对子选择运行更新。

http://psoug.org/reference/update.html可能会为您提供更多信息。

使用空格的问题更容易回答,您需要将字段名称封装在转义序列中,例如,如果表名是A Table而列名是A Column,那么您将使用

Update "A Table"
Set "A Column" = <value>, "Another Column" = <value2>
Where <where_clause>