Oracle - error al crear tabla

 
Vista:

error al crear tabla

Publicado por LaInE (1 intervención) el 24/02/2009 19:56:11
Buenas,
Estoy creando una tabla pero me da error que falta parentesis derecho y si que lo tengo puesto. Adjunto la consulta.
create table empleado (
Idemp number(6),
Nombre varchar2(20),
Iddept numbre(4),
salbruto number(8,2) not null,
constraint emp_salb_max
check (salbruto < 350000),
constraint emp_Iddept_fk foreing key (departamento),
constraint emp_Idemp_pk primary key (Idemp));
si ven algun error indicarmelo.

Saludos y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error al crear tabla

Publicado por Pedro (38 intervenciones) el 25/02/2009 11:10:13
Hola pues te digo:

Iddept numbre(4), no es numbre sin number... (eso es por el parentesis..)

De todas formas la forma de crear las contraints no es correcta

la sintaxis sería asi

CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]}
[
, constraint <nombre> primary key (<nombre_campo>[ ,...n ])]
[
, constraint <nombre> foreign key (<nombre_campo>[ ,...n ])
references <tabla_referenciada> ( <nombre_campo> [ ,...n ] ) ]
) ;

De todas formas te comento, esto va a gustos del programador, para mi gusto, queda mas limpio y mas claro de la siguiente forma.

Haces el create table sin las constrainst y luego haces un alter:

Aqui tienes un ejemplo

ALTER TABLE tAlquileres ADD CONSTRAINT PK_tAlquileres primary key (codigo),CONSTRAINT FK_Clientes foreign key (codigo_cliente) references tClientes (Codigo),CONSTRAINT FK_Coches foreign key (matricula) references tCoches (matricula);


Puedes ponerlas todas en un mismo alter, o dependiendo del tipo de constraint meter cada constraint en un alter distinto, pero bueno eso va a gustos del consumidor....XD

Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar