2011-04-20 69 views
2

以下where子句在Oracle中是否正確?因爲它沒有更新表格值:SQL where子句正確或不在oracle?

update tableOne set Id_num=1 where name='shweta'; 
+0

我剛剛添加了新的一行到表中,並能夠更新值。但對於少數舊的記錄,它不會更新該值 – Baali 2011-04-20 06:55:17

回答

5

這是正確的。你有什麼錯誤嗎?你可以做一個選擇相同的where子句嗎?

SELECT * FROM tableOne WHERE NAME='shweta'; 
5

語法正確。但是,甲骨文是大小寫敏感的也許是,你必須使用

update tableOne set Id_num=1 where upper(name)='SHWETA'; 

而且,如果你是第二個應用程序verifing您的更新,不要忘記使用

COMMIT; 
0

是其他行可能填補空白?如果是這樣,你不一定會注意到數據。

你可以嘗試:

update tableOne set Id_num=1 where rtrim(name) ='shweta'; 

OR

update tableOne set Id_num=1 where trim(trailing from name) ='shweta'; 

這假定是由空格填充,有可能是導致此問題的其他空白字符....或者它可能是完全是另一回事。