-4

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

4

1 回答 1

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>
于 2012-04-18T05:11:55.403 回答