nul*_*ull 0 sql oracle plsql insert sequence
我正在尝试插入一个表,其中ID是序列中的下一个,其他一些值是从表中提取的.我知道这不起作用:
INSERT INTO ORDERS(order_id, foo1, foo2, foo3
VALUES(SEQUENCE_ORDERS.nextval,(SELECT foo1, foo2, foo3
FROM bar
WHERE X = Y))
Run Code Online (Sandbox Code Playgroud)
我刚试过,而且我得到了"没有足够的价值"错误.
我想知道正确的语法是什么让它工作.我在Oracle DB中使用PLSQL(我正在编写的程序的一部分).
我知道选择不应该在VALUES()内,但我如何添加序列?我能想到的唯一选择是插入的触发器,但我宁愿不必这样做.
编辑:谢谢大家,正如我想的那样,每个人都发布了.不知道在选择中有序列是可以的.
INSERT INTO ORDERS(order_id, foo1, foo2, foo3)
SELECT SEQUENCE_ORDERS.nextval,foo1, foo2, foo3
FROM bar
WHERE X = Y
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12343 次 |
| 最近记录: |