Я пытаюсь вставить в таблицу, где идентификатор является следующим в последовательности, а некоторые другие значения извлекаются из таблицы.Я знаю, что это не сработает:
INSERT INTO ORDERS(order_id, foo1, foo2, foo3
VALUES(SEQUENCE_ORDERS.nextval,(SELECT foo1, foo2, foo3
FROM bar
WHERE X = Y))
Я только что попытался, и я получаю ошибку "недостаточно значений".
Я хотел знать, какой правильный синтаксис был длязаставить это работать.Я использую PLSQL в Oracle DB (часть процедуры, которую я пишу).
Я знаю, что select не должен быть внутри VALUES (), но как мне также добавить последовательность?Единственный вариант, о котором я могу подумать, это триггер на вставке, но я бы предпочел не делать этого.
РЕДАКТИРОВАТЬ: спасибо всем, как я понял, все опубликовали.Не знал, что это нормально иметь последовательность в select.