Como limpar colunas individuais no Oracle?
Pergunta
Eu escrevi um aplicativo Java que comunica e armazena dados no Oracle; Minha pergunta é como limpar as informações inseridas de colunas individuais no Oracle? Por exemplo, digamos que eu tenho uma tabela seguinte:
create table example (id integer, name varchar(50), surname varchar(50));
E contém informações atuais, como faço para limpar as colunas individuais, mas mantenha o resto intacto? Por exemplo, e se eu quisesse limpar as colunas de nome e sobrenome, mas deixe a coluna de identificação intacta, como eu iria fazer isso?
Tentei criar uma nova tabela e apenas copiar a coluna ID e depois criar nome e sobrenome novamente do zero como assim:
create table example1 as select id from example
e depois emitir o alter table
comando para adicionar nome e sobrenome. Parece um pouco redundante, mas deve haver uma maneira mais fácil,
obrigado
Solução
UPDATE table SET name='', surname='' WHERE ...
ou
UPDATE table SET name=null, surname=null WHERE ...
Obviamente, você precisará garantir que as restrições da sua tabela permitam esses valores.
Parece uma coisa estranha a se fazer, raramente em um aplicativo você precisa fazer algo como "Tome um único usuário/cliente/conta que temos e apagar o primeiro nome do datastore".
Outras dicas
Se as colunas forem anuláveis, você poderá apenas executar uma consulta para anulá -las:
UPDATE example set name=NULL, surname=NULL;
UPDATE example
SET name = NULL
, surname = NULL;