最近、私はOracle-sql
。 DELETE
コマンドを使用して、特定の行を削除できることを知っています。したがって、DELETE
コマンドのみを使用して、テーブルの特定の列からデータ全体を削除することは可能ですか? (列全体にnull値を設定してUPDATE
コマンドを使用すると、DELETE
の機能を実現できることを知っています)。
DELETEステートメントは、指定されたテーブルまたはビューからデータの行全体を削除します
特定の列からデータを「削除」するには、次のように更新します。
UPDATE table_name
SET your_column_name = NULL;
または、列がNOT NULL
UPDATE table_name
SET your_column_name = <value_indicating_removed_data>;
DDLを使用して列全体を削除することもできます。
ALTER TABLE table_name DROP COLUMN column_name;
Oracle 12cR2からの不可視タイプを使用します。
ALTER TABLE LOG1
MODIFY operation INVISIBLE
特定の列をドロップするよりも優れています。表示する必要がある場合は、列名のVISIBLE
で変更することで元に戻すことができます。
SQLでは、delete
は列ではなく行を削除します。
Oracleには3つのオプションがあります。
NULL
に設定します。最後の2つはalter table
を使用します:
alter table t drop column col;
alter table t set unused (col);