web-dev-qa-db-fra.com

Suppression de données complètes d'une colonne particulière dans Oracle-sql

Récemment, j'ai commencé à apprendre Oracle-sql. Je sais qu’à l’aide de la commande DELETE, nous pouvons supprimer une ou plusieurs lignes particulières. Donc, est-il possible de supprimer des données entières d'une colonne particulière dans une table en utilisant uniquement la commande DELETE. (Je sais qu'en utilisant la commande UPDATE en définissant des valeurs null sur la colonne entière, nous pouvons obtenir la fonctionnalité de DELETE). 

4
RajeeV VenkaT

EFFACER

L'instruction DELETE supprime des lignes entières de données d'un fichier .__ spécifié. table ou vue

Si vous souhaitez "supprimer" les données d'une colonne particulière, mettez-les à jour:

UPDATE table_name
SET your_column_name = NULL;

ou si la colonne est NOT NULL

UPDATE table_name
SET your_column_name = <value_indicating_removed_data>;

Vous pouvez également supprimer la colonne entière à l'aide de DDL:

ALTER TABLE table_name DROP COLUMN column_name;
15
Lukasz Szozda

Utilisez le type invisible, qui provient d'unOracle 12cR2.

ALTER TABLE LOG1
MODIFY operation  INVISIBLE

C'est une meilleure solution que de supprimer une colonne particulière. Si vous devez être visible, vous pouvez le récupérer en modifiant VISIBLE d'un nom de colonne.

2
mAEHS

En SQL, delete supprime les lignes et non les colonnes.

Vous avez trois options dans Oracle:

  • Définissez toutes les valeurs sur NULL à l'aide de update.
  • Supprimer la colonne de la table.
  • Définissez la colonne sur non utilisé.

Les deux derniers utilisent alter table:

alter table t drop column col;
alter table t set unused (col);
1
Gordon Linoff