Ошибка "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')
ПРОСТО ДОБАВЬТЕ ОДИНОЧНЫЕ КАТАТЫ В НАЗВАНИЯ КОЛОНН