Informática en general > Dudas informáticas

 Eliminacion Logica De Tuplas

<< < (2/3) > >>

ElNapster:
Podrias realizar un Trigger , que te vea si hay registros asociados a ese foreing key , de ser asi que te cambie de primero los estados de los registros y luego el del foreing key   :ph34r:

 :comp:

lencho:

--- Cita de: "ElNapster" --- Podrias realizar un Trigger , que te vea si hay registros asociados a ese foreing key , de ser asi que te cambie de primero los estados de los registros y luego el del foreing key   :ph34r:

 :comp:
--- Fin de la cita ---
umm, pues creo que puede ser una wena idea, pero se me complicaria en el caso de que:

Cuando tablaA, tablaB, tablaC, tablaD, tablaE,....tablaZ.

Y todas ellas tengan un foreign key a la anterior.

Es decir lo de la eliminacion  (logica) en cascada, creo que no me conviene.


Gracias.

Nota. Otra cosa, hablando de trigger, nunca pude hacer uno en SQL Server 2005, Before Update.

BYTE.

JuanK:
hola,
nada que hacer lo que necesitas es un triguer.. no se si se pueda en sql server pero deberas trabajar con sql dinamico consuiltando el diccionario de datos.

lencho:

--- Citar ---sql dinamico consuiltando el diccionario de datos.
--- Fin de la cita ---
Es significa armar las consultas dinamicamentes ???, pero.... Como ?


Gracias.

Nota.- En el anterior post mencione que nunca pude hacer un trigger BEFORE UPDATED, y por fin pude saber por que.

En Sql server no existe el tiempo (AFTER, BEFORE). Pero se lo puede sustituir con las tablas INSERTED, DELETED.

BYTE.

F_Tanori:
Pero lo que harías no es ejecutar un UPDATE ?

ejemplo:

tabla: paises
idPais | Nombre    | Eliminado
---------------------------------------
1        | Colombia   |    N
2        | Guatemala |    N
3        | Bolivia       |    N
4        | Mexico       |   N


tabla: usuarios

idUsuario | Nombre | idPais
------------------------------------
1        | Lencho     |    3
2        | elNapster  |    2
3        | Juank       |    1
4        | Ftanori      |    4

----------------------------------------------------------------------------------------------
no soy muy diestro en SQL Server pero en MySQL seria algo mas o menos asi
utilizando Exists (Not Exists) tambien es posible utilizar IN ....


<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->@pais=4

[color=blue;font-weight]UPDATE[/color] paises SET eliminado='S'  WHERE not exists ([color=blue;font-weight]select[/color] 1 from usuarios u where u.idPais=p.idPais ) and idPais=@pais ;
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->


habría que ver como se hace en SQL Server y crear el SP o el metodo desde el lenguaje utilizado pudiendo retornar  " rows affected " no se como se haga en SQL Server :P

No se si eso te sirva, pero pude ser una idea

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa