Oracle中的以下where子句是否正确?因为它没有更新表值:
update tableOne set Id_num=1 where name='shweta';
答案 0 :(得分:5)
这是对的。你有任何错误吗?你能为同一个where子句做一个选择吗?
SELECT * FROM tableOne WHERE NAME='shweta';
答案 1 :(得分:5)
语法是正确的。但Oracle可能会区分大小写,或许你必须使用
update tableOne set Id_num=1 where upper(name)='SHWETA';
如果您要通过第二个应用程序验证更新,请不要忘记使用
COMMIT;
答案 2 :(得分:0)
其他行是否可以填空?如果是这样的话,你不一定会注意到数据。
你可以尝试:
update tableOne set Id_num=1 where rtrim(name) ='shweta';
OR
update tableOne set Id_num=1 where trim(trailing from name) ='shweta';
这假设用空格填充,可能有其他空白字符导致问题....或者它可能完全是其他东西。