Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2009, 01:58
Avatar de Montu
Montu
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Problemas a la hora de relacionar dos tablas

Hola Amigos,

A ver si me podéis ayudar, tengo problemas a la hora de hacer la relación entre dos tablas.
Os dejo el código algo simplificado, solo dos tablas y la relación que quiero hacer:

BBDD:

--DROP DATABASE Tanaki

CREATE DATABASE Tanaki
GO
USE Tanaki
GO

--Tablas + Datos

CREATE TABLE auricular
(
id int,
auricular1 nvarchar(50),
observaciones nvarchar(50),
PRIMARY KEY (id),
)
--CREATE INDEX [auricular_auricular1] ON auricular (auricular1);

CREATE TABLE recaudaciones (
id int,
hospital int,
habitaciones nvarchar(1000),
sistemapago int,
placa int,
cerradura int,
canalgratuito int,
auricular1 nvarchar(50),
telefono int,
soportetelf int,
mando int,
soportem int,
rizo int,
ctf int,
cps int,
tv int,
soportetv int,
observaciones nvarchar(1000),
PRIMARY KEY (id, ),
)

-- Relaciones
ALTER TABLE recaudaciones ADD CONSTRAINT rel_recau_auri
FOREIGN KEY (auricular1) REFERENCES auricular (auricular1)
ON DELETE CASCADE ON UPDATE CASCADE

A la hora de crear la tablas todo esta OK,
pero me interesa que en la tabla recaudaciones auricular1 sea de tipo nvarchar y no int, entonces cuando hago la relaciones, es cuando me peta:
There are no primary or candidate keys in the referenced table 'auricular' that match the referencing column list in the foreign key 'rel_recau_auri'.

Me interesa que sea de tipo nvarcharm porque esta bbdd la tengo conectada con una aplicación que he hecho, y me interesa pasarle el nombre del auricular, en lugar del ID del auricular.

Con int en auricular en recaudaciones todo funciona, pero como te he dicho me inteersa pasarle un texto (nvarchar)

Alguien me puede decir que falla? Muchas gracias amigos!