Ошибка "ORA-00928: отсутствует ключевое слово SELECT" при использовании функции последовательности

Извините, я новичок в материалах SQLPlus!

Итак, у меня есть таблица iowe, в которую предварительно загружены четыре записи. Вот как это выглядит:

ИМЯ СУММА Серийный номер
---------- ---------- -------------
Правин 20500             1
Рошан 5000             2
Рохит 5000             3
Шаши 8000             4

Пока я не ввел эти четыре записи, я не знал о функции последовательности в SQL. Поэтому я попытался включить это в эту таблицу. Я хотел ввести новую запись, скажем "XXX" по имени, 500 по сумме, и используя команду sequence, я хотел, чтобы "Серийный номер" автоматически увеличивался.

Поэтому я создал последовательность с именем iowesqn, которая выглядит следующим образом, когда я выбираю * из user_sequence:

SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CO CACHE_SIZE LAST_NUMBER
------------------------------ ---------- ---------- ------------ - - ---------- -----------
SQN 1 5 2 NN 0 3
IOWESQN 1 1.0000E + 27 1 NN 0 7

Пожалуйста, не обращайте внимания на последовательность SQN

Чтобы вставить последовательность IOWESQN, я использовал эту команду: "вставить в iowe(имя, сумма," серийный номер ") значения (" XXX ", 500, iowesqn.nextval)"

Все отлично работает Серийный номер столбца увеличивается на 1 для каждой записи. Тем не менее, когда я пытаюсь "вставить в iowe ('&name', '&amount', "Serial Number") значение (iowesqn.nextval));", он спрашивает у меня имя и сумму, но прямо тогда (после ввода суммы) выдает ошибку. Он гласит: "ORA-00928: отсутствует ключевое слово SELECT".

Это целая вещь, которая появляется после суммы, которую она вводит:

old 1: вставить в значение iowe('& name', '& amount', "Serial Number") (iowesqn.nextval)) new 1: вставить в значение iowe ('ret', 'ert', "Serial Number") (iowesqn).nextval)) вставить в значение iowe ('ret', 'ert', "Serial Number") (iowesqn.nextval)) * ОШИБКА в строке 1: ORA-00928: отсутствует ключевое слово SELECT

Пожалуйста, скажите мне, что я (или очень маловероятно) делаю неправильно.

Заранее спасибо.

5 ответов

Решение

Ваше утверждение неверно. Просто как тот. С этим фиксированным заявлением:

вставить в iowe (имя, сумма, "серийный номер") значения ("XXX", 500, iowesqn.nextval)

Вы, вероятно, хотели заменить ваши значения переменными, а не вашими полями?

вставить в iowe (имя, количество, "серийный номер") значения ('&name', &amount, iowesqn.nextval)

Я только что нашел другой случай, когда у меня отсутствует ключевое слово SELECT. Я попытался вставить имена столбцов в кавычки, например:

вставить в подписку ('SUBSCRIPTION_ID','SUBSCRIPTION_NAME','CREATED_DATE') значения ('558768','','20-JAN-20 10.37.47.901000000 PM');

Как только я удалил кавычки вокруг имен столбцов, все заработало:

вставить в подписку (SUBSCRIPTION_ID,SUBSCRIPTION_NAME,CREATED_DATE) значения ('558768','','20-JAN-20 10.37.47.901000000 PM');

Другие пользователи могли использовать value вместо values, Это еще один случай, когда вы можете столкнуться с этой проблемой.

Это потому, что вы пропустили упоминание списка столбцов

вставить в table_name(1,'alskdjflasf')

это должно быть как эта вставка в значения table_name (id,name) (1.'lakjsdflasdf')

ПРОСТО ДОБАВЬТЕ ОДИНОЧНЫЕ КАТАТЫ В НАЗВАНИЯ КОЛОНН

введите описание изображения здесь

Другие вопросы по тегам