SQL где пункт является правильным или нет в Oracle? - PullRequest
2 голосов
/ 20 апреля 2011

Правильно ли следующее условие where в Oracle? потому что он не обновляет значение таблицы:

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

Ответы [ 3 ]

5 голосов
/ 20 апреля 2011

Синтаксис правильный. Но Oracle чувствителен к регистру, возможно, вам придется использовать

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

И если вы проверяете свое обновление вторым приложением, не забудьте использовать

COMMIT;
5 голосов
/ 20 апреля 2011

Это правильно. Вы получаете какие-либо ошибки? Можете ли вы сделать выбор для того же предложения where?

SELECT * FROM tableOne WHERE NAME='shweta';
0 голосов
/ 20 апреля 2011

Возможно, другие строки заполнены пробелами? Если они есть, вы не обязательно заметите, просто посмотрев на данные.

Вы можете попробовать:

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

OR

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

Предполагается, что он дополняется пробелами, могут быть другие пробельные символы, которые вызывают проблему ... или это может быть что-то совсем другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...