Как использовать условие where с запросом вставки

Запрос и связанная с ним ошибка приведены ниже:

SQL> insert into test(name) values('Raju') where sadd='Hyd';
insert into test(name) values('Raju') where sadd='Hyd'
                                      *

ОШИБКА в строке 1:
ORA-00933: команда SQL не завершена должным образом


person Dheeraj ghogarkar    schedule 18.04.2015    source источник
comment
это не вставка, а обновление   -  person Tharif    schedule 18.04.2015


Ответы (2)


Если вы хотите изменить значение таблицы на основе использования фильтра; ОБНОВЛЕНИЕ - это то, что вам нужно.
И для ты:

UPDATE test
SET name = 'Raju'
WHERE sadd='Hyd';

И по-другому с помощью MERGE вы можете обновить или вставка в таблицу.

person shA.t    schedule 18.04.2015
comment
Почему вы ссылаетесь на руководство по MySQL (и показываете синтаксис MySQL), когда Дирадж явно использует Oracle? - person a_horse_with_no_name; 18.04.2015

Предложение WHERE используется для выражения условия, чтобы отфильтровать строки таблицы, «где» вы должны внести изменения. В вашем случае использование UPDATE вместо INSERT исправит ошибку. Хотя запись, соответствующая значению поля «Raju», отсутствует, было бы правильно сделать эту запись с помощью команды UPDATE.

Запрос -

UPDATE (test) SET name= 'Raju' WHERE sadd='Hyd';
person Priyansu Singh    schedule 18.04.2015