¿Como aplico una regla de no elimnar registro a menos que?

13/01/2004 - 14:31 por WBG | Informe spam
Saludos,

Tengo una tabla llamda tabla1 en mi BD de SQL Server 2000 que necesito
aplicarle una regla (condición) que no permita eliminar registros a menos
que exista en la Tabla2 o a menos que exista en la Tabla3.

Tabla1 , Tabla2 y Tabla3 tienen la misma esctructura.

Estructura

columna | tipo
=loan_id | varchar(15)
name | varchar(20)
address | varchar(30)

¿Como puedo realizar esto?

Desde ya gracias


Wilfredo Burgos

Preguntas similare

Leer las respuestas

#6 Liliana Sorrentino
13/01/2004 - 16:41 | Informe spam
Gracias por la aclaración Miguel.

"Miguel Egea" escribió en el mensaje
news:
Tal como te dice liliana un Instead of trigger solucionaría tu problema,


en
cualquier caso y para ser claro, los instead of son 'en lugar de' no antes
de, es decir si pones un trigger instead of delete, dentro del trigger


haces
tu borrado con los criterios que quieras, Entonces puedes usar la


sentencia
que propone liliana cambiando tabla1 en el select (no en el delete) por la
tabla virtual deleted.

Saludos
Miguel Egea
"Liliana Sorrentino" escribió en el


mensaje
news:
> Hola Wilfredo,
> Como dice Maxi, la opción de los Triggers es válida, pero me parece que
para
> tu caso deberían ser los Triggers Instead Of, ya que deberían ejecutarse
> antes del borrado.
> Como uso SQL 7 y no puedo hacer pruebas de lo antedicho, te propongo


este
> delete que controla en las tablas 2 y 3, borrando lo que esté en una,
otra,
> o ambas.
>
> delete tabla1
> from tabla1 t1
> left join tabla2 t2 on t1.loan_id = t2.loan_id
> left join tabla3 t3 on t1.loan_id = t3.loan_id
> where t2.loan_id is not null or t3.loan_id is not null
>
> Saludos... Liliana.
>
> "WBG" escribió en el mensaje
> news:#
> > Saludos,
> >
> > Tengo una tabla llamda tabla1 en mi BD de SQL Server 2000 que necesito
> > aplicarle una regla (condición) que no permita eliminar registros a
menos
> > que exista en la Tabla2 o a menos que exista en la Tabla3.
> >
> > Tabla1 , Tabla2 y Tabla3 tienen la misma esctructura.
> >
> > Estructura
> >
> > columna | tipo
> > => > > loan_id | varchar(15)
> > name | varchar(20)
> > address | varchar(30)
> >
> > ¿Como puedo realizar esto?
> >
> > Desde ya gracias
> >
> >
> > Wilfredo Burgos
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Miguel Egea
13/01/2004 - 16:48 | Informe spam
Si tu no lo programas explicitamente no realiza el borrado, igual que un
trigger de tipo instead of insert no realiza la inserción.
Al principio me resultó llamativa esta funcioanlidad, no parecía muy lógico,
sin embargo es tremendamente util, no es necesario hacer rollbacks que
pueden producir efectos no deseados ya que nada se ha hecho, de esta forma
también puedes poner una especie de 'preprocesadores a los datos' y por
ejemplo en las inserciones masivas evitar duplicados, etc.

Saludos
Miguel Egea
"WBG" escribió en el mensaje
news:
Muchas gracias amigos ,pero lo que sucede es que existe una aplicación
"adquirida" que realiza el delete automáticamente.

Además , ¿el trrigger tipo INSTEAD OF DELETE reliza el delete o no realiza
el delete?

Gracias

"WBG" wrote in message
news:#
> Saludos,
>
> Tengo una tabla llamda tabla1 en mi BD de SQL Server 2000 que necesito
> aplicarle una regla (condición) que no permita eliminar registros a


menos
> que exista en la Tabla2 o a menos que exista en la Tabla3.
>
> Tabla1 , Tabla2 y Tabla3 tienen la misma esctructura.
>
> Estructura
>
> columna | tipo
> => > loan_id | varchar(15)
> name | varchar(20)
> address | varchar(30)
>
> ¿Como puedo realizar esto?
>
> Desde ya gracias
>
>
> Wilfredo Burgos
>
>
>


Respuesta Responder a este mensaje
#8 WBG
13/01/2004 - 16:49 | Informe spam
Gracias amigos,

Se realizó el trigger INSTEAD OF DELETE y funciona muy bien.

Wilfredo

"WBG" wrote in message
news:#
Saludos,

Tengo una tabla llamda tabla1 en mi BD de SQL Server 2000 que necesito
aplicarle una regla (condición) que no permita eliminar registros a menos
que exista en la Tabla2 o a menos que exista en la Tabla3.

Tabla1 , Tabla2 y Tabla3 tienen la misma esctructura.

Estructura

columna | tipo
=> loan_id | varchar(15)
name | varchar(20)
address | varchar(30)

¿Como puedo realizar esto?

Desde ya gracias


Wilfredo Burgos



Respuesta Responder a este mensaje
#9 Maximiliano D. A.
13/01/2004 - 16:52 | Informe spam
De nada ;)

Maximiliano Damian Accotto


"WBG" escribió en el mensaje
news:
Gracias amigos,

Se realizó el trigger INSTEAD OF DELETE y funciona muy bien.

Wilfredo

"WBG" wrote in message
news:#
> Saludos,
>
> Tengo una tabla llamda tabla1 en mi BD de SQL Server 2000 que necesito
> aplicarle una regla (condición) que no permita eliminar registros a


menos
> que exista en la Tabla2 o a menos que exista en la Tabla3.
>
> Tabla1 , Tabla2 y Tabla3 tienen la misma esctructura.
>
> Estructura
>
> columna | tipo
> => > loan_id | varchar(15)
> name | varchar(20)
> address | varchar(30)
>
> ¿Como puedo realizar esto?
>
> Desde ya gracias
>
>
> Wilfredo Burgos
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida