2010-03-18 69 views
0

我寫了一個java應用程序,它在oracle中進行通信和存儲數據;我的問題是我如何清除輸入信息從個人專欄在甲骨文?例如,說我有如下表:如何清除oracle中的單個列?

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

,它包含最新信息,我怎麼那麼清楚各個列,但保留其餘完好?例如,如果我想清除姓名列,但是保留ID列完好無損,那我該怎麼做呢?
我試圖通過創建一個新表,只是複製ID列,然後從頭開始,像這樣再次創造姓名:

create table example1 as select id from example

,然後發出alter table命令來添加名字和姓氏。似乎有點多餘,但必須有一個更簡單的方法,

感謝

+0

這真的是你想要做的嗎?這張表是否只是暫時使用,而頁面正在運行?否則,我同意其他答案,這是一件很奇怪的事情。家庭作業也許? – MJB 2010-03-18 16:20:06

+0

是的,它是功課。我創建了一個模擬motoGP競賽的java程序。該表存儲了rider_id,rider_name,rider_lap_time等....在start_race命令之前,我存儲了它們的ID和名稱。一旦發出start_race命令,我會添加一個附加列rider_lap_time列。我的規範中的一個要求是,如果start_race命令連續發出兩次,則必須重新啓動競賽,但所有騎手數據都必須保持不變。這就是爲什麼我想知道如何清除列 - 所以我可以清除每個新比賽的rider_lap_time列。 – user283188 2010-03-18 21:35:28

回答

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

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

當然,你需要確保你的表的約束允許這些值。

這聽起來像是一件很奇怪的事情,很少在應用程序中您需要做一些類似於「從我們擁有的單一用戶/客戶/帳戶中獲取並從數據存儲中刪除他們的名字」的內容。

0

如果列是可空的,你可以只運行一個查詢爲空他們:

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