Borrado múltiple

29/01/2004 - 11:41 por Manuel | Informe spam
Hola a todos,
os cuento mi problema:
a través de una aplicación se pueden borrar, de una sola tabla, varios
registros a la vez; la cuestión está, en comprobar (con unas condiciones
deteminadas) cuales de esos registros hay que dejar borrar y cuales no.
Quiero hacerlo (si es posible) mediante un trigger pero aún no lo he
conseguido ya que cuando se cumple la condición por la cual no quiero
borrar, hago un rollback, y claro, no borra ningun registro.

Por ejemplo:

Tabla1

IdTabla1 Descripcion
1 Español
2 Inglés
3 Francés
4 Otros

Yo quiero que el registro 1 y 4 no se puedan borrar nunca. Entonces cuando
yo intento borrar los registros 1 y 3 (a la vez) debería dejar borrar el 3
pero no dejar borrar el 1.


Mil gracias a todos.

Preguntas similare

Leer las respuestas

#1 ulises
29/01/2004 - 15:40 | Informe spam
Podrías usar un INSTEAD OF DELETE trigger, con ella
controlarías lo que quieres o no borrar, revisalo en el
BOL.

Saludos,
Ulises


Hola a todos,
os cuento mi problema:
a través de una aplicación se pueden borrar, de una


sola tabla, varios
registros a la vez; la cuestión está, en comprobar (con


unas condiciones
deteminadas) cuales de esos registros hay que dejar


borrar y cuales no.
Quiero hacerlo (si es posible) mediante un trigger pero


aún no lo he
conseguido ya que cuando se cumple la condición por la


cual no quiero
borrar, hago un rollback, y claro, no borra ningun


registro.

Por ejemplo:

Tabla1

IdTabla1 Descripcion
1 Español
2 Inglés
3 Francés
4 Otros

Yo quiero que el registro 1 y 4 no se puedan borrar


nunca. Entonces cuando
yo intento borrar los registros 1 y 3 (a la vez) debería


dejar borrar el 3
pero no dejar borrar el 1.


Mil gracias a todos.


.

Respuesta Responder a este mensaje
#2 Manuel
29/01/2004 - 16:22 | Informe spam
Hola Ulises,
no puedo utilizarlo ya que tengo integridad con otras tablas... y no quiero
quitarla...


"ulises" escribió en el mensaje
news:67ed01c3e675$e3e89ae0$
Podrías usar un INSTEAD OF DELETE trigger, con ella
controlarías lo que quieres o no borrar, revisalo en el
BOL.

Saludos,
Ulises


Hola a todos,
os cuento mi problema:
a través de una aplicación se pueden borrar, de una


sola tabla, varios
registros a la vez; la cuestión está, en comprobar (con


unas condiciones
deteminadas) cuales de esos registros hay que dejar


borrar y cuales no.
Quiero hacerlo (si es posible) mediante un trigger pero


aún no lo he
conseguido ya que cuando se cumple la condición por la


cual no quiero
borrar, hago un rollback, y claro, no borra ningun


registro.

Por ejemplo:

Tabla1

IdTabla1 Descripcion
1 Español
2 Inglés
3 Francés
4 Otros

Yo quiero que el registro 1 y 4 no se puedan borrar


nunca. Entonces cuando
yo intento borrar los registros 1 y 3 (a la vez) debería


dejar borrar el 3
pero no dejar borrar el 1.


Mil gracias a todos.


.

Respuesta Responder a este mensaje
#3 Manuel
29/01/2004 - 17:39 | Informe spam
Muchas gracias a los dos, me habeis sido de gran ayuda...

Saludos.


"Adrian Garcia" escribió en el mensaje
news:
Si no puedes utilizar un trigger INSTEAD OF como te sugirio Ulises tienes
estas 2 opciones:
a) Crear una vista sobre la tabla y aplicar un trigger INSTEAD OF a la
vista. La aplicacion utilizaria la vista y no la tabla.
b) armar un stored procedure.
c) Controlar las condiciones desde tu aplicacion, por ejemplo, desde una
regla de negocio encargada de ello.

Saludos
Adrian D. Garcia
NDSoft

"Manuel" wrote in message
news:
> Hola Ulises,
> no puedo utilizarlo ya que tengo integridad con otras tablas... y no
quiero
> quitarla...
>
>
> "ulises" escribió en el mensaje
> news:67ed01c3e675$e3e89ae0$
> Podrías usar un INSTEAD OF DELETE trigger, con ella
> controlarías lo que quieres o no borrar, revisalo en el
> BOL.
>
> Saludos,
> Ulises
>
>
> >Hola a todos,
> >os cuento mi problema:
> > a través de una aplicación se pueden borrar, de una
> sola tabla, varios
> >registros a la vez; la cuestión está, en comprobar (con
> unas condiciones
> >deteminadas) cuales de esos registros hay que dejar
> borrar y cuales no.
> >Quiero hacerlo (si es posible) mediante un trigger pero
> aún no lo he
> >conseguido ya que cuando se cumple la condición por la
> cual no quiero
> >borrar, hago un rollback, y claro, no borra ningun
> registro.
> >
> >Por ejemplo:
> >
> >Tabla1
> >
> >IdTabla1 Descripcion
> >1 Español
> >2 Inglés
> >3 Francés
> >4 Otros
> >
> >Yo quiero que el registro 1 y 4 no se puedan borrar
> nunca. Entonces cuando
> >yo intento borrar los registros 1 y 3 (a la vez) debería
> dejar borrar el 3
> >pero no dejar borrar el 1.
> >
> >
> >Mil gracias a todos.
> >
> >
> >.
> >
>
>


Respuesta Responder a este mensaje
#4 Adrian Garcia
29/01/2004 - 21:47 | Informe spam
Si no puedes utilizar un trigger INSTEAD OF como te sugirio Ulises tienes
estas 2 opciones:
a) Crear una vista sobre la tabla y aplicar un trigger INSTEAD OF a la
vista. La aplicacion utilizaria la vista y no la tabla.
b) armar un stored procedure.
c) Controlar las condiciones desde tu aplicacion, por ejemplo, desde una
regla de negocio encargada de ello.

Saludos
Adrian D. Garcia
NDSoft

"Manuel" wrote in message
news:
Hola Ulises,
no puedo utilizarlo ya que tengo integridad con otras tablas... y no


quiero
quitarla...


"ulises" escribió en el mensaje
news:67ed01c3e675$e3e89ae0$
Podrías usar un INSTEAD OF DELETE trigger, con ella
controlarías lo que quieres o no borrar, revisalo en el
BOL.

Saludos,
Ulises


>Hola a todos,
>os cuento mi problema:
> a través de una aplicación se pueden borrar, de una
sola tabla, varios
>registros a la vez; la cuestión está, en comprobar (con
unas condiciones
>deteminadas) cuales de esos registros hay que dejar
borrar y cuales no.
>Quiero hacerlo (si es posible) mediante un trigger pero
aún no lo he
>conseguido ya que cuando se cumple la condición por la
cual no quiero
>borrar, hago un rollback, y claro, no borra ningun
registro.
>
>Por ejemplo:
>
>Tabla1
>
>IdTabla1 Descripcion
>1 Español
>2 Inglés
>3 Francés
>4 Otros
>
>Yo quiero que el registro 1 y 4 no se puedan borrar
nunca. Entonces cuando
>yo intento borrar los registros 1 y 3 (a la vez) debería
dejar borrar el 3
>pero no dejar borrar el 1.
>
>
>Mil gracias a todos.
>
>
>.
>


Respuesta Responder a este mensaje
#5 Jose Mariano Alvarez \(MUG\)
30/01/2004 - 09:24 | Informe spam
Si no tienes definida la accion referencial ON DELETE { CASCADE | NO
ACTION } deberia funcionarte el Instead of trigger y aun asi verificaria la
referencia.


Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar




"Manuel" wrote in message
news:
Muchas gracias a los dos, me habeis sido de gran ayuda...

Saludos.


"Adrian Garcia" escribió en el mensaje
news:
> Si no puedes utilizar un trigger INSTEAD OF como te sugirio Ulises


tienes
> estas 2 opciones:
> a) Crear una vista sobre la tabla y aplicar un trigger INSTEAD OF a la
> vista. La aplicacion utilizaria la vista y no la tabla.
> b) armar un stored procedure.
> c) Controlar las condiciones desde tu aplicacion, por ejemplo, desde una
> regla de negocio encargada de ello.
>
> Saludos
> Adrian D. Garcia
> NDSoft
>
> "Manuel" wrote in message
> news:
> > Hola Ulises,
> > no puedo utilizarlo ya que tengo integridad con otras tablas... y no
> quiero
> > quitarla...
> >
> >
> > "ulises" escribió en el mensaje
> > news:67ed01c3e675$e3e89ae0$
> > Podrías usar un INSTEAD OF DELETE trigger, con ella
> > controlarías lo que quieres o no borrar, revisalo en el
> > BOL.
> >
> > Saludos,
> > Ulises
> >
> >
> > >Hola a todos,
> > >os cuento mi problema:
> > > a través de una aplicación se pueden borrar, de una
> > sola tabla, varios
> > >registros a la vez; la cuestión está, en comprobar (con
> > unas condiciones
> > >deteminadas) cuales de esos registros hay que dejar
> > borrar y cuales no.
> > >Quiero hacerlo (si es posible) mediante un trigger pero
> > aún no lo he
> > >conseguido ya que cuando se cumple la condición por la
> > cual no quiero
> > >borrar, hago un rollback, y claro, no borra ningun
> > registro.
> > >
> > >Por ejemplo:
> > >
> > >Tabla1
> > >
> > >IdTabla1 Descripcion
> > >1 Español
> > >2 Inglés
> > >3 Francés
> > >4 Otros
> > >
> > >Yo quiero que el registro 1 y 4 no se puedan borrar
> > nunca. Entonces cuando
> > >yo intento borrar los registros 1 y 3 (a la vez) debería
> > dejar borrar el 3
> > >pero no dejar borrar el 1.
> > >
> > >
> > >Mil gracias a todos.
> > >
> > >
> > >.
> > >
> >
> >
>
>


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