我试过了
INSERT INTO my_test_one (rollno,name, sirname, Dept)
(select rollno_seq.nextval,'name1','sirname1', Dept
FROM my_test_one_backup
WHERE dept = 500
UNION ALL
select rollno_seq.nextval,'name1','sirname1', Dept
FROM my_test_one_backup
WHERE dept = 501 );
在执行此操作时出现错误
错误报告:
SQL Error: ORA-02287: sequence number not allowed here
02287. 00000 - "sequence number not allowed here"
最佳答案
在这种情况下,不要使用 UNION
,而是使用单个 SELECT
和 OR
:
SELECT rollno_seq.nextval,'name1','sirname1', Dept
FROM my_test_one_backup
WHERE dept = 500 OR dept = 501
关于sql - 我想使用 union all 进行插入,其中有一列从序列中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8327011/