programing

sql의 시퀀스 오류입니다.시퀀스 번호는 여기서 허용되지 않습니다.

css3 2023. 9. 17. 13:26

sql의 시퀀스 오류입니다.시퀀스 번호는 여기서 허용되지 않습니다.

저는 다음 쿼리를 실행하여 노드가 로드됨에 따라 자동 증가하는 ID를 가진 여러 노드를 테이블에 삽입하려고 합니다.

아무리 오류가 나더라도ORA-02287: sequence number not allowed here내가 실행할 때마다.

INSERT INTO V1144Engine.T_NODES VALUES
  (
    (SELECT V1144ENGINE.S_PK_NODES.NEXTVAL FROM dual),
    1,
    'Chemistry of Life',
    0,1,
    SYSDATE,
    NULL,
    'CON.3.1',
    NULL
  );

달리기를 해봤습니다.

SELECT V1144ENGINE.S_PK_NODES.NEXTVAL from dual

이것은 잘 작동하고 제가 원하는 번호를 돌려줍니다.

어떻게 하면 이걸 피할 수 있을까요?저는 오라클 11g에서 실행하고 있습니다.

또한 스프레드시트에서 쿼리를 만들고 있기 때문에 쿼리를 한 줄에서 실행할 수 있다면 매우 감사하겠습니다.

내부를 가질 필요가 없습니다.SELECT. 간단히

INSERT INTO V1144Engine.T_NODES 
  VALUES(V1144ENGINE.S_PK_NODES.NEXTVAL,
         1,
         'Chemistry of Life',
         0,
         1,
         SYSDATE,
         null,
         'CON.3.1',
         null);

그러나 일반적으로 다음에서 값을 제공하는 열을 나열할 수 있습니다.INSERT진술.이 기능은 향후 개발자가 테이블의 열 순서를 조회할 필요가 없도록 열을 문서화할 뿐만 아니라 이후에 새로운 열이 테이블에 추가될 경우 사용자를 보호합니다.

INSERT INTO V1144Engine.T_NODES( <<list of columns>> ) 
  VALUES(V1144ENGINE.S_PK_NODES.NEXTVAL,
         1,
         'Chemistry of Life',
         0,
         1,
         SYSDATE,
         null,
         'CON.3.1',
         null);

언급URL : https://stackoverflow.com/questions/11267418/sequence-error-in-sql-sequence-number-not-allowed-here