Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2008
HectorMendez HectorMendez is offline
Miembro
 
Registrado: may 2004
Posts: 14
Poder: 0
HectorMendez Va por buen camino
Unhappy Master - Detail 2

Hace unos días hice una consulta con relacion a un inconveniente que estoy teniendo para manejar los Maestros Detalles con SQL Server.... (Master - Detail). Nuevamente hago otra consulta ya que todavia no he encontrado solucion a dicho problema...., pero ahora agreso lo siguiente:

Esto me ocurre cuando intento modificar el una tabla de SEGUROS, la cual tiene una relación con AFILIADOSXSEGUROS, y en cuya relación tiene la acción programada (Parent UpDate = CASCADE), es por eso que cuando intento modificar un dato del campo llave, se produce este error…


Cannot cascade AfiliadosXSeguros UPDATE because more then one row has been affected

Entonces si desactivo el trigger que realiza esta acción, entonces se produce esto otro ERROR…

Update failed. Found 0 records.
¿Por que ocurre el primer error?

El modelo de la base de datos fue creado en ERwin Data Modeler
Utilizo SQL Server 2000, Delphi 7, y un componente externo que se llama SDAC (SQL Server Data Access Ver 4.30.0.12)

Espero haber sido explisito..... si no me avisan para tratar de mejorar...
Responder Con Cita
  #2  
Antiguo 30-04-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por HectorMendez Ver Mensaje
Esto me ocurre cuando intento modificar el una tabla de SEGUROS, la cual tiene una relación con AFILIADOSXSEGUROS, y en cuya relación tiene la acción programada (Parent UpDate = CASCADE), es por eso que cuando intento modificar un dato del campo llave, se produce este error…


Cannot cascade AfiliadosXSeguros UPDATE because more then one row has been affected

Entonces si desactivo el trigger que realiza esta acción, entonces se produce esto otro ERROR…

Update failed. Found 0 records.
¿Por que ocurre el primer error?
Hola... y podrias colocar el código que utilizas para modificar... y de paso tambien el Trigger...

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 30-04-2008
HectorMendez HectorMendez is offline
Miembro
 
Registrado: may 2004
Posts: 14
Poder: 0
HectorMendez Va por buen camino
Este es el trigger..!!! que lo crea el ERwin mediante la relacion...!!!

create trigger tU_AfiliadosXSeguros on dbo.AfiliadosXSeguros for UPDATE as
/* ERwin Builtin Mon Oct 22 13:28:06 2007 */
/* UPDATE trigger on AfiliadosXSeguros */
begin
declare @numrows int,
@nullcnt int,
@validcnt int,
@insCodigoAseguradora int,
@insCarnetAfiliado varchar(15),
@errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
/* ERwin Builtin Mon Oct 22 13:28:06 2007 */
/* AfiliadosXSeguros R/41 Recepcion ON PARENT UPDATE CASCADE */
if
/* update(CodigoAseguradora) or
update(CarnetAfiliado) */
update(CodigoAseguradora) or
update(CarnetAfiliado)
begin
if @numrows = 1
begin
select @insCodigoAseguradora = inserted.CodigoAseguradora,
@insCarnetAfiliado = inserted.CarnetAfiliado
from inserted
update Recepcion
set
/* Recepcion.CodigoAseguradora = @insCodigoAseguradora,
Recepcion.CarnetAfiliado = @insCarnetAfiliado */
Recepcion.CodigoAseguradora = @insCodigoAseguradora,
Recepcion.CarnetAfiliado = @insCarnetAfiliado
from Recepcion,inserted,deleted
where
/* Recepcion.CodigoAseguradora = deleted.CodigoAseguradora and
Recepcion.CarnetAfiliado = deleted.CarnetAfiliado */
Recepcion.CodigoAseguradora = deleted.CodigoAseguradora and
Recepcion.CarnetAfiliado = deleted.CarnetAfiliado
end
else
begin
select @errno = 30006,
@errmsg = 'Cannot cascade AfiliadosXSeguros UPDATE because more than one row has been affected.'
goto error
end
end

/* ERwin Builtin Mon Oct 22 13:28:06 2007 */
return
error:
raiserror @errno @errmsg
rollback transaction
end
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBLookupComboBoxs Master/Detail o Detail/Master yusnerqui OOP 5 29-07-2005 18:40:20
master/detail, imprimiendo master en cada hoja acalderonr Impresión 4 29-11-2003 14:46:07
master detail marcelofabiani Firebird e Interbase 5 01-11-2003 22:21:28
interbase:¿como crear un master-detail-detail? ElSanto24 Firebird e Interbase 2 22-10-2003 10:24:45
Master/Detail/Detail/Detail/etc... hgiacobone Tablas planas 2 24-07-2003 17:20:31


La franja horaria es GMT +2. Ahora son las 23:41:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi