今天使用 insert into select 时出现了这个异常,感觉很诡异,去metalink查了下资料,找出了错误原因,记录下来. SQL> CREATE TABLE test_baser01( ID NUMBER NOT NULL, NAME ), age NUMBER, sex NUMBER, comments ) ); 表已创建. SQL> CREATE SEQUENCE test_baser01_s; 序列已创建. SQL> INSERT INTO Test_Baser01
ORA-02287: 此处不同意序号 insert into gls_vchitem (viid, yr, km) select gls_vchitem_seq.nextval as viid, yr, km from gls_vchitem_tmp order by km; 不能有order by 或group by
CREATE TABLE MY_TAB (N1 NUMBER(5),N2 DATE); SELECT * FROM MY_TAB; CREATE SEQUENCE MY_SEQ01; INSERT INTO MY_TAB (N1,N2) SELECT MY_SEQ01.NEXTVAL,SYSDATE FROM DUAL ORDER BY SYSDATE ASC ; 资料: Restrictions on Sequence Values Yo
1. 使用批量插入最先想到如下的插入语句 insert into a (id,name) values('','') ,('','') 但是 oracle 并不支持这种写法 然后查询得知可以使用如下写法 insert all into a(id,name) values('','') into a(id,name) values('','') (注:可以一次插入一个表也可以多个表) 但是这种方式有一种限制,就是 行数乘以列数不能大于1000(我没有验证),而且这种方式据说效率不高(我没有验证)