Buenas tardes a todos.
Tengo un problema con la definición de un FOREIGN KEY. Tengo esta tabla:
Código SQL
[-]CREATE TABLE TIPOIVA (
NOMBRE VARCHAR(30) CHARACTER SET ISO8859_1 NOT NULL COLLATE ES_ES_CI_AI,
PORIVA NUMERIC(4, 2) DEFAULT 0);
CREATE UNIQUE INDEX TIPIVA ON TIPOIVA(PORIVA);
y quiero crear un FOREIGN KEY sobre esta otra tabla:
Código SQL
[-]CREATE TABLE ARTICULO (
CODIGO INTEGER NOT NULL,
REFERENCIA VARCHAR(25) CHARACTER SET ISO8859_1 NOT NULL COLLATE ES_ES_CI_AI,
CODBAR VARCHAR(15) CHARACTER SET ISO8859_1 COLLATE ES_ES_CI_AI,
NOMBRE VARCHAR(60) CHARACTER SET ISO8859_1 COLLATE ES_ES_CI_AI,
FAMILIA INTEGER DEFAULT 1,
PROVEEDOR INTEGER DEFAULT 1,
PRECOSTE NUMERIC(10, 4),
PREBRUTO NUMERIC(10, 4),
TIPOIVA INTEGER,
PREVENTA NUMERIC(10, 4),
STOCK INTEGER,
MINIMO INTEGER DEFAULT 0,
CONTROL SMALLINT DEFAULT 0);
con este código:
Código SQL
[-]ALTER TABLE ARTICULO ADD CONSTRAINT FK_ARTIVA FOREIGN KEY (TIPOIVA) REFERENCES TIPOIVA(PORIVA)
pero me da este error:
Cita:
Unsuccessful metadata update.
Could not find UNIQUE or PRIMARY KEY constraint in table TIPOIVA with specified columns.
SQL Code: -607
IB Error Number: 335544351
|
y no acabo de ver donde está el problema porque la columna que uso para la clave externa tien un ínidca único.