Error creating table: "An identifier with more than 30 characters was specified"

0

I have problems when trying to execute the script to create the client table, I leave the code and the tables with which it interacts with its respective problem.

CLIENT TABLE

CREATE TABLE CLIENTE(
RUT VARCHAR2(10) CONSTRAINT PK_CLIENTE PRIMARY KEY,
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE_CLIENTE NOT NULL,
APELLIDOP VARCHAR2(30) CONSTRAINT NOTNULL_APELLIDOP_CLIENTE NOT NULL,
APELLIDOM VARCHAR2(30) CONSTRAINT NOTNNULL_APELLIDOM_CLIENTE NOT NULL,
DIRECCION VARCHAR2(100) CONSTRAINT NOTNULL_DIRECCION_CLIENTE NOT NULL,
TELEFONO NUMBER(8) CONSTRAINT NOTNULL_TELEFONO_CLIENTE NOT NULL,
EMAIL VARCHAR2(255) CONSTRAINT NOTNULL_EMAIL_CLIENTE NOT NULL,
FECHA_NACIMIENTO DATE CONSTRAINT NOTNULL_FECHA_NACIMIENTO_CLIENTE NOT NULL,
SEXO CHAR(1) CONSTRAINT NOTNULL_SEXO_CLIENTE NOT NULL,
CIUDAD_COD_CIUDAD NUMBER CONSTRAINT NOTNULL_CIUDAD_COD_CIUAD NOT NULL,
CONSTRAINT FK_CLIENTE_CIUDAD FOREIGN KEY(CIUDAD_COD_CIUDAD) REFERENCES CIUDAD(COD_CIUDAD)
);

CITY TABLE

CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER CONSTRAINT PK_CIUDAD PRIMARY KEY,
NOMBRE_CIUDAD VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE_CIUDAD NOT NULL,
NOMBRE_REGION VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL
);

ERROR CASTED BY SQL DEVELOPER (version 17xxx).

Informe de error 
ORA-00972: identifier is too long
00972. 00000 -  "identifier is too long"
*Cause:    An identifier with more than 30 characters was specified.
*Action:   Specify at most 30 characters.

I hope you can help me.

    
asked by GOHANCKZ 13.12.2017 в 21:40
source

1 answer

0

Oracle does not accept identifiers that are longer than 30 characters, as the error message you receive correctly explains.

In this case, it seems to be the name of the constraint NOTNULL_FECHA_NACIMIENTO_CLIENTE . If you modify the name of the constraint to be shorter, you should have no problem.

Note: Starting with Oracle 12.2, identifiers can reach up to 128 characters.

    
answered by 13.12.2017 в 21:43