Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema con relaciones SQL Server

Estas en el tema de Problema con relaciones SQL Server en el foro de Bases de Datos General en Foros del Web. Hola, tengo una tabla personas (campo clave NIF) i otra tabla Profesors (clave también NIF). Quiero que todo profesor tenga que estar en la tabla ...
  #1 (permalink)  
Antiguo 18/03/2005, 02:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 42
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con relaciones SQL Server

Hola, tengo una tabla personas (campo clave NIF) i otra tabla Profesors (clave también NIF). Quiero que todo profesor tenga que estar en la tabla Personas, pero no que toda Persona tenga que ser Profesor. He definido las dos tablas y al hacer la relación tengo un problema. Le marco "exigir relación para INSERT y UPDATE". En cuanto a actualizar y eliminar en cascada, si marco la casilla de eliminar ningún problema, pero si también marco la de actualizar, cuando intento actualizar alguna de las dos tablas me da el siguiente error:

Servidor: mensaje 8629, nivel 16, estado 3, procedimiento Persones_Actualizar, línea 34
El procesador de consultas no puede crear un plan de consulta con el optimizador, porque una consulta no puede actualizar una columna de tipo text, ntext o image y una clave de agrupación al mismo tiempo.

Por qué? Cómo puedo conseguir actualizar en cascada sin que me salga este error?

Si has llegado hasta aquí... muchas gracias!!

Alfred
  #2 (permalink)  
Antiguo 22/03/2005, 09:11
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Podrias escribirnos el procedimiento Persones_Actualizar aqui?
__________________
Yanira
  #3 (permalink)  
Antiguo 22/03/2005, 09:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 42
Antigüedad: 20 años, 1 mes
Puntos: 0
CREATE Procedure Persones_Actualizar
@PENIFPer char(9),
@PECognm1 char(30),
@PECognm2 char(30),
@PENomPer char(30),
@PESexPer char(30),
@PELocNai char(10),
@PEDatNai datetime,
@PEDatMor datetime,
@PEAdreça char(30),
@PEPoblac char(8),
@PECodPos char(5),
@PETelef1 char(30),
@PETelef2 char(30),
@PETelef3 char(30),
@PEFaxPer char(30),
@PEEmail char(30),
@PEPaswrd char(30),
@PECodTto int,
@PEAnyTto int,
@PECodPrf int,
@PECodCen int,
@PECodCar int,
@PECodNiv int,
@PECodSLa int,
@PECodRLa int,
@PEObsrvc text,
@UsuarioCC int,
@ControlCambios datetime,
@UsuarioCC_CON int,
@ControlCambios_CON datetime
AS
Update Persones Set
PENIFPer=@PENIFPer,
PECognm1=@PECognm1,
PECognm2=@PECognm2,
PENomPer=@PENomPer,
PESexPer=@PESexPer,
PELocNai=@PELocNai,
PEDatNai=ISNULL(@PEDatNai,NULL),
PEDatMor=ISNULL(@PEDatMor,NULL),
PEAdreça=@PEAdreça,
PEPoblac=@PEPoblac,
PECodPos=@PECodPos,
PETelef1=@PETelef1,
PETelef2=@PETelef2,
PETelef3=@PETelef3,
PEFaxPer=@PEFaxPer,
PEEmail=@PEEmail,
PEPaswrd=@PEPaswrd,
PECodTto=@PECodTto,
PEAnyTto=@PEAnyTto,
PECodPrf=@PECodPrf,
PECodCen=@PECodCen,
PECodCar=@PECodCar,
PECodNiv=@PECodNiv,
PECodSLa=@PECodSLa,
PECodRLa=@PECodRLa,
PEObsrvc=@PEObsrvc,
UsuarioCC=@UsuarioCC,
ControlCambios=ISNULL(@ControlCambios,NULL)
Where
PENIFPer = @PENIFPer AND
UsuarioCC=@UsuarioCC_CON AND
ControlCambios=@ControlCambios_CON

GO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:56.