Forzar envio a DB
Hola a todos!!
Tengo una duda q espero q me podais resolver! Dispongo de un TSQLTable unido a un Provider en un Modulo de Datos y un ClientDataSet ligado al Provider!! Mi problema es q kiero q se dispare un trigger de la base de datos siempre que haga applyupdates sobre el ClientDataSet en cuestion! Tal y como esta ahora solo se dispara el trigger si hago un algo cambio en los datos del clientdataset, pero me gustaria q se disparara aunq no hubiese ningun cambio!! Alguna idea? Se q debe ser alguna tonteria pero no doy con la solucion!! Un saludo y maxas gracias! |
Una forma prolija puede ser sacar el código del trigger y ponerlo en un store procedure, y que el trigger llame al store procedure y cuando quieras disparar este store procedure simplemente lo ejecutas. Obviamente no todo los triggers son portables a stores procedures, algo mas desprolijo que se me ocurre es hacer un update que no cambie datos (obviamente si el trigger evaluamos los cambios, no servirá de nada) :
Saludos! |
Alguna otra idea?
Entiendo lo q me dices pero no me parece una solucion muy "elegante"!! Al parecer si el cliente detecta q no ha habido ningun cambio no envia los datos a la base de datos! Hay alguna opcion en el provider q deba activar para q los datos sean siempre enviados a la base de datos? Y de sta manera sea la base de datos kien maneje la informacion a traves del disparador.
No se si me he explicado con claridad, pero si alguien puede hecharme una cable staria muy agradecido!! Chauuu |
No, y creo que tienes un error de diseño en tu aplicación. Un trigger esta supuesto a ejecutarse despues de una insercion, actualizacion o borrado de datos. Si ninguno de esos eventos sucede en el dataset, el trigger no tendria por que dispararse.
Yo tu y voy pensando en sacar codigo del trigger y ponerlo en otro sitio (SP o Function) porque, aunque de funcionar funciona, definitivamete no es la forma correcta de hacerlo. |
La franja horaria es GMT +2. Ahora son las 04:24:47. |
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