Ver Mensaje Individual
  #1  
Antiguo 25-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Error al definir un FK en Firebird 2.5

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).

Última edición por Casimiro Notevi fecha: 25-11-2016 a las 20:08:29.
Responder Con Cita