2015-04-24 77 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