Estoy definiendo una clave externa sobre una tabla FB de la siguiente forma:
Código:
ALTER TABLE Persona
ADD CONSTRAINT FK_CodAfiPer
FOREIGN KEY (CodPrv, Afiliacion)
REFERENCES Afiliacion(CodPrv, Codigo)
ON DELETE SET DEFAULT ON UPDATE CASCADE
Las definiciones de los tablas son estas:
1. Personas:
Código SQL
[-]CREATE TABLE Persona (
CodPrv VARCHAR(2) NOT NULL,
Codigo INTEGER NOT NULL,
Apellidos VARCHAR(40) NOT NULL,
Nombre VARCHAR(15) NOT NULL,
Nif VARCHAR(9),
Sexo INTEGER,
F_nacim DATE,
Domicilio VARCHAR(50),
Cpostal VARCHAR(5),
Poblacion INTEGER,
Provincia INTEGER,
Profesion INTEGER,
C_electronico VARCHAR(60),
Telefono_1 VARCHAR(9),
Telefono_2 VARCHAR(9),
Telefono_3 VARCHAR(9),
Situacion INTEGER,
Correo INTEGER,
Lo1599 INTEGER,
F_alta DATE,
N_afiliado INTEGER,
Afiliacion INTEGER,
Junta INTEGER,
Referencia VARCHAR(12),
Perpago INTEGER,
Forpago INTEGER,
Cuota DECIMAL(9, 2),
Iban VARCHAR(4),
Cuenta VARCHAR(30),
Bic VARCHAR(11),
Observaciones BLOB SUB_TYPE 1,
Errores BLOB SUB_TYPE 1,
UsuMod VARCHAR(15),
FecMod TIMESTAMP,
CONSTRAINT PK_Persona PRIMARY KEY (CodPrv, Codigo)
)
2. Afiliaciones:
Código SQL
[-]CREATE TABLE Afiliacion (
CodPrv VARCHAR(2) NOT NULL,
Codigo INTEGER NOT NULL,
Nombre VARCHAR(30) NOT NULL,
Ant_Codigo INTEGER,
CONSTRAINT PK_Afiliacion PRIMARY KEY (CodPrv, Codigo)
)
Y al ejecutar el ALTER TABLE me da este error:
Cita:
Unsuccessful metadata update.
Partner index segment no 1 has incompatible data type.
|
Que no sé por donde coger porque con ese mensaje entiendo que lso tipos de datos del primer campo del índice son diferente sy en ambos casos son VARCHAR(2).