2010-03-18 19 views
0

J'ai écrit une application Java qui communique et stocke des données dans Oracle; Ma question est comment puis-je effacer les informations saisies à partir de colonnes individuelles dans Oracle? par exemple, que j'ai un tableau suivant:comment effacer des colonnes individuelles dans Oracle?

create table example (id integer, name varchar(50), surname varchar(50));

et contient des informations actuelles, comment puis des colonnes individuelles claires, mais garder le reste intact? Par exemple, que se passe-t-il si je veux effacer les colonnes de nom et de nom de famille, mais laisser la colonne d'identification intacte, comment pourrais-je procéder?
J'ai essayé en créant une nouvelle table et la copie juste la colonne id, puis créer le nom et le nom à nouveau à partir de zéro comme ceci:

create table example1 as select id from example

puis de lancer la commande alter table pour ajouter le nom et le prénom. Semble un peu redondant, mais il doit y avoir un moyen plus facile,

grâce

+0

Est-ce vraiment ce que vous voulez faire? Cette table est-elle utilisée temporairement, pendant que la page est en cours d'exécution? Sinon, je suis d'accord avec d'autres réponses que c'est une chose étrange à faire. Devoirs peut-être? – MJB

+0

oui c'est les devoirs. J'ai créé un programme Java qui simule une course motoGP. La table stocke rider_id, rider_name, rider_lap_time etc .... Avant la commande start_race, je stocke leurs identifiants et noms. Une fois la commande start_race émise, j'ajoute une colonne supplémentaire rider_lap_time. L'une des exigences de ma spécification est que si la commande start_race est émise deux fois de suite, la course doit être redémarrée, mais toutes les données du pilote doivent rester intactes. C'est pourquoi je voulais savoir comment effacer les colonnes - afin que je puisse effacer les colonnes rider_lap_time pour chaque nouvelle course. – user283188

Répondre

4
UPDATE table SET name='', surname='' WHERE ... 

ou

UPDATE table SET name=null, surname=null WHERE ... 

Bien sûr, vous devrez vous assurer que les contraintes de votre table autorisent ces valeurs. Cela ressemble à une chose étrange à faire, mais rarement dans une application, vous devez faire quelque chose comme "Prenez toujours un seul utilisateur/client/compte que nous avons et effacer leur prénom dans le magasin de données".

0

Si les colonnes sont annulable vous pouvez simplement exécuter une requête pour les null:

UPDATE example set name=NULL, surname=NULL; 
0
UPDATE example 
    SET name = NULL 
    , surname = NULL;