Erro ao inserir a sequencia Oracle

Pessoal boa noite estou querendo inserir dados em uma tabela , que tem uma sequencia criada, mas ao tentar inserir o dado com o nextval ele apresenta o seguinte erro:

Erro

Erro de SQL: ORA-00911: caractere inválido

  1. 00000 - “invalid character”
    *Cause: identifiers may not start with any ASCII character other than
    letters and numbers. $#_ are also allowed after the first
    character. Identifiers enclosed by doublequotes may contain
    any character other than a doublequote. Alternative quotes
    (q’#…#’) cannot use spaces, tabs, or carriage returns as
    delimiters. For all other contexts, consult the SQL Language
    Reference Manual.

Meu codigo do insert,e a sequencia, minha tabela

   CREATE TABLE CursoSequencia (
cod_curso NUMBER(3),
nome_curso VARCHAR2(30) NOT NULL,
carga_hor NUMBER(3),
CONSTRAINT cursoSquencia_cod_pk PRIMARY KEY(cod_curso));

 CREATE SEQUENCE
cod_curso INCREMENT BY 1
START WITH 1001;

INSERT INTO CursoSequencia VALUES(cod_curso.nextval, ‘AdministracaoOracle’,3);
INSERT INTO CursoSequencia VALUES(cod_curso.nextval, ‘AdministracaoSQLServer’,3);

Os caracteres que tens como plicas não são plicas e são estes que provocam o erro.

Já agora, ter um campo com NUMBER(3) preenchido com uma sequência que começa em 1001 também deve dar problemas a seguir…

1 curtida

obrigado por responder mas como posso resolver o erro mudo o campo do cod_curso para number(1001)

Number(3) quer dizer que aceitas 3 digitos. 1001 tem 4.

Mudar para Number(4) resolve para já, até chegares a 9999 :slight_smile:
Consoante o crescimento dessa tabela deves prever o tamanho do campo.