Почему мой SQL не работает? (ORA-00933: команда SQL неправильно завершена) - PullRequest
0 голосов
/ 16 ноября 2011

Почему мой SQL не работает?Я думаю, что он правильно отформатирован, но выдает ошибку.

    INSERT INTO NBOT_USERS
       (ID,LAST_NAME,FIRST_NAME)
    VALUES
       (1002, 'Smith', 'John')
    WHERE 1002 NOT IN (SELECT IT_ID FROM NBOT_USERS);

Ответы [ 2 ]

4 голосов
/ 16 ноября 2011

Запросы вставки не имеют предложений where, если вы не делаете INSERT ... SELECT FROM, и в этом случае может быть предложение where в части SELECT.

1 голос
/ 17 ноября 2011

Вставка значений с помощью подзапроса: Пример

INSERT INTO bonuses
   SELECT employee_id, salary*1.1 
   FROM employees
   WHERE commission_pct > 0.25 * salary;

С вашей схемой:

INSERT INTO NBOT_USERS (ID,LAST_NAME,FIRST_NAME)
Select 1002, 'Smith', 'John' 
  From dual
  WHERE 1002 NOT IN (SELECT  FROM NBOT_USERS);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...