Inconveniente en creación de base de datos Oracle

Deseo preguntarles lo siguiente, si por favor me puedes colaborar

Estoy creando una tabla en una base de datos que tengo creada en Oracle, dicha tabla tiene su llave primaria y una llave foranea. Creo la tabla con la siguiente estructura pero desafortunadamente al ejecutar el script de create table me sale un error que dice:

ORA-00907: missing right parenthesis, el script que tengo es:

CREATE TABLE Empleado

( Codigo number(10) NOT NULL,

Apellido varchar2(30) NOT NULL,

Nombre varchar2(30) NOT NULL,

Sexo varchar2(10) NOT NULL,

Salario number(30) NOT NULL,

Codigo_d number(10) NOT NULL,

CONSTRAINT Empleado PRIMARY KEY (codigo)

FOREIGN KEY (codigo_d)

REFERENCES Departamento (codigo_d)

 );

2

2 respuestas

Respuesta
2

Por adelantado, no tengo ni idea de Oracle, pero la instrucción es muy parecida a VBA y SQL para la construcción de una tabla y si está tal como la has puesto, el último paréntesis, el que está solo con el punto y coma debería estar detrás de (código_d) ya que si no entiende que es otra línea de código

.....Departamento (código_d));

Ya te digo que es muy parecida a VBA

Respuesta
1

Prueba así:

CREATE TABLE Empleado
( Codigo number(10) NOT NULL,
Apellido varchar2(30) NOT NULL,
Nombre varchar2(30) NOT NULL,
Sexo varchar2(10) NOT NULL,
Salario number(30) NOT NULL,
Codigo_d number(10) NOT NULL,
CONSTRAINT Empleado PRIMARY KEY (codigo),
CONSTRAINT FK_EMPLEADO_DEPARTAMENTO FOREIGN KEY (codigo) REFERENCES Departamento (codigo_d)
);

Perdón, he puesto mal el FOREIGN KEY, prueba así:

CREATE TABLE Empleado
( Codigo number(10) NOT NULL,
Apellido varchar2(30) NOT NULL,
Nombre varchar2(30) NOT NULL,
Sexo varchar2(10) NOT NULL,
Salario number(30) NOT NULL,
Codigo_d number(10) NOT NULL,
CONSTRAINT Empleado PRIMARY KEY (codigo),
CONSTRAINT FK_EMPLEADO_DEPARTAMENTO FOREIGN KEY (codigo_d) REFERENCES Departamento (codigo_d)
);

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas