Estoy empezando con Oracle y al hacer una de tantas pruebas con bases de datos de ejemplo que van saliendo sobre la marcha me encuentro con un error que, la verdad, no se por donde tirar.
ORA-02270: no hay ninguna clave única o primaria correspondiente para esta lista de columnas
La tabla en cuestión es:
Código SQL:
Ver original
CREATE TABLE factura_linea ( idfactura NUMBER(8,0) NOT NULL, idarticulo NUMBER(6,0) NOT NULL, cantidad NUMBER(3,0) NOT NULL, CONSTRAINT linea_pk PRIMARY KEY ( idfactura, idarticulo ) enable, CONSTRAINT linea_fk1 FOREIGN KEY ( idfactura ) REFERENCES factura ( idfactura ), CONSTRAINT linea_fk2 FOREIGN KEY ( idarticulo ) REFERENCES articulo ( idarticulo ) );
Y las tablas a las que hace referencia son:
Código SQL:
Ver original
CREATE TABLE articulo ( idarticulo NUMBER(6,0) NOT NULL, nombre varchar2(45) NOT NULL, precio NUMBER(9,2) NOT NULL, fecha_alta TIMESTAMP NOT NULL, CONSTRAINT articulo_pk PRIMARY KEY ( idarticulo ) enable ); CREATE TABLE factura ( idfactura NUMBER(8,0) NOT NULL, idusuario NUMBER(2,0) NOT NULL, fecha_factura TIMESTAMP NOT NULL, importe NUMBER(8,2) NOT NULL, pagada CHAR NOT NULL, CONSTRAINT factura_pk PRIMARY KEY ( idfactura, idusuario ) enable, CONSTRAINT factura_fk FOREIGN KEY ( idusuario ) REFERENCES usuario ( idusuario ) );
Es una estructura bastante sencilla y por eso no se qué puede estar fallando :(