2015-04-24 78 views
1

我需要做一個Oracle數據庫中刪除,但我只需要刪除表的特定領域,現在使用下面的腳本PL SQL中刪除查詢

delete TABLE where co_id in ('XXX')and SUBSTR(CS_PENDING_STATE,-1)='p'; 

的問題是i'm該查詢還會刪除CS_PENDING_STATE字段的所有行,並且我只需要刪除附加到CS_PENDING_STATE字段的滿足SUBSTR的信息。

我怎麼能得到這個donde?

謝謝。

+0

你不刪除特定字段。您將它們設置爲空 –

+0

嗨,謝謝,但我沒有明白,請你舉個例子吧? – sandatomo

+0

您想要從列中刪除值還是要刪除整行? –

回答

0

您需要更新語句才能將特定列值設置爲空/空。

如果它是一個可空字段:

update TABLE Set CS_PENDING_STATE = null where co_id in ('XXX')and SUBSTR(CS_PENDING_STATE,-1)='p'; 

如果是一個非空的領域:

update TABLE Set CS_PENDING_STATE = '' where co_id in ('XXX')and SUBSTR(CS_PENDING_STATE,-1)='p'; 
+0

嗨。以下查詢我設法'刪除'我需要的非常感謝你的幫助!更新表集合CS_PENDING_STATE = null, CS_PENDING_PARAM = null 其中('XXX') 和SUBSTR(CS_PENDING_STATE,-1)='p'中的co_id; – sandatomo