如何清除oracle中的各个列?

时间:2010-03-18 16:13:22

标签: java sql oracle clear

我写了一个在oracle中传递和存储数据的java应用程序;我的问题是如何清除oracle中各列的输入信息?例如,假设我有下表:

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

并且它包含当前信息,我如何清除单个列,但保持其余列完整?例如,如果我想清除名称和姓氏列,但保留id列完好无损,我该怎么做呢?
我尝试创建一个新表,只是复制id列,然后再从头开始创建名称和姓氏,如下所示:

create table example1 as select id from example

然后发出alter table命令添加名称和姓氏。似乎有点多余,但必须有一个更简单的方法,

感谢

3 个答案:

答案 0 :(得分:4)

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

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

当然,您需要确保表的约束允许这些值。

这听起来有点奇怪,但很少在应用程序中你需要做一些事情,比如“从我们拥有的单个用户/客户/帐户中删除他们的名字”。

答案 1 :(得分:0)

如果列可以为空,则可以运行查询以使它们为空:

UPDATE example set name=NULL, surname=NULL;

答案 2 :(得分:0)

UPDATE example
   SET name = NULL
     , surname = NULL;