-4

30 行のテーブルの 2 列を更新する必要があります。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テーブルで、列名がA列の場合、エスケープシーケンスでフィールド名をカプセル化する必要があります。

Update "A Table"
Set "A Column" = <value>, "Another Column" = <value2>
Where <where_clause>
于 2012-04-18T05:11:55.403 に答える