报错:ORA-02287: 此处不允许序号

mac2022-06-30  122

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 You cannot use CURRVAL and NEXTVAL in thefollowing constructs:■ A subquery in a DELETE, SELECT, or UPDATE statement■ A query of a view or of a materialized view■ A SELECT statement with the DISTINCT operator■ A SELECT statement with a GROUP BY clause or ORDER BY clause■ A SELECT statement that is combined with another SELECT statement with theUNION, INTERSECT, or MINUS set operator■ The WHERE clause of a SELECT statement■ The DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement■ The condition of a CHECK constrain

解决方案:

sql外面包一层

 

  INSERT INTO MY_TAB (N1,N2) SELECT MY_SEQ01.NEXTVAL,SYSDATE FROM (SELECT * FROM DUAL ORDER BY SYSDATE ASC);

 

成功执行

转载于:https://www.cnblogs.com/iyoume2008/p/4752835.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)