我試圖插入表中,其中ID是序列中的下一個,並且其他值從表中被拉出。我知道這是行不通的:插入一個序列並選擇
INSERT INTO ORDERS(order_id, foo1, foo2, foo3
VALUES(SEQUENCE_ORDERS.nextval,(SELECT foo1, foo2, foo3
FROM bar
WHERE X = Y))
我只是試過了,它得到了「沒有足夠的值」的錯誤。
我想知道正確的語法是什麼讓這個工作。我在Oracle DB中使用PLSQL(我正在編寫一個過程的一部分)。
我知道選擇不應該在VALUES()內,但我該如何添加序列?我能想到的唯一選擇是插入觸發器,但我寧願不必這樣做。
編輯:謝謝大家,就像我想通了,每個人都發布了。不知道在選擇中有序列是可以的。
有時候,我只是需要打出來我有那麼一下子說到我有什麼問題。感謝那些回答! – null