假设
Table TARGET {
ID IDENTITY ...,
...
JOB_NO NUMBER
}
我的问题是,如何生成JOB_NO(通过序列),以便在语句中提交的所有插入都具有相同的job_no。
输出应该类似于该插入stmt的第n次执行。
ID ... JOB_NO
1 ... 123
2 ... 123
3 ... 123
以下显然不起作用。但是正确的Oracle语法是什么?
INSERT INTO TARGET SELECT A.*, B.* FROM my_source_table A, (SELECT x.nextval from dual) B
非常感谢Juergen
您可以一次NEXTVAL
为每个这样的插入选择,使递增sequence
,然后CURRVAL
在中使用INSERT
。
假设这是您的顺序
create sequence seq START WITH 123 ;
请务必在中指定列名称,INSERT
以免造成混淆,请勿使用select * from
select seq.NEXTVAL FROM DUAL;
INSERT INTO TARGET(JOB_NO,col1,col2,..)
SELECT seq.CURRVAL, a.col1,a.col2 FROM my_source_table A, ..
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句