FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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... |
#2
|
||||
|
||||
Cita:
Salu2
__________________
BlueSteel |
#3
|
|||
|
|||
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 |
|
|
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 |
|