как очистить отдельные столбцы в Oracle? - PullRequest
0 голосов
/ 18 марта 2010

я написал Java-приложение, которое связывает и хранит данные в Oracle; мой вопрос, как я могу очистить введенную информацию из отдельных столбцов в оракуле? например, скажем, у меня есть следующая таблица:

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

и содержит текущую информацию, как мне тогда очистить отдельные столбцы, но оставить остальные нетронутыми? Например, что если я захочу очистить столбцы имени и фамилии, но оставить столбец идентификатора без изменений, как мне это сделать?
Я попытался создать новую таблицу и просто скопировать столбец id, а затем снова создать имя и фамилию с нуля, вот так:

create table example1 as select id from example

, а затем введите команду alter table, чтобы добавить имя и фамилию. Кажется, немного излишним, но должен быть более простой способ,

спасибо

Ответы [ 3 ]

4 голосов
/ 18 марта 2010
UPDATE table SET name='', surname='' WHERE ...

или

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

Конечно, вам нужно убедиться, что ограничения вашей таблицы допускают эти значения.

Это звучит странно, хотя в приложении редко требуется что-то вроде "Возьмите когда-нибудь одного пользователя / клиента / аккаунта и удалите его имя из хранилища данных".

0 голосов
/ 18 марта 2010
UPDATE example
   SET name = NULL
     , surname = NULL;
0 голосов
/ 18 марта 2010

Если столбцы обнуляются, вы можете просто выполнить запрос, чтобы обнулить их:

UPDATE example set name=NULL, surname=NULL;
...