Comprobar si se modifican datos si tener que bloquear

29/11/2005 - 09:03 por Ivan Cosano Sanchez | Informe spam
Hola!
Como puedo saber si los datos que yo estoy modificando en un momento en
concreto han sido
modificados mientras tanto.
No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que los
datos han sido modificados.
gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
29/11/2005 - 09:24 | Informe spam
Una posibilidad sencilla es consultar si el registro ha modificado
alguno de sus campos mientras lo estabas tratando justo antes de enviar la
sentencia de actualización. Por ejemplo:

IF EXISTS(SELECT 1 FROM tuTabla WHERE pk=valorPK AND campo1=valorCampo1
)
iniciamos su modificación
ELSE
él el que decida la acción a tomar


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ivan Cosano Sanchez" escribió en el mensaje
news:
Hola!
Como puedo saber si los datos que yo estoy modificando en un momento en
concreto han sido
modificados mientras tanto.
No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que


los
datos han sido modificados.
gracias



Respuesta Responder a este mensaje
#2 Ivan Cosano Sanchez
29/11/2005 - 11:39 | Informe spam
Gracias esta bien...
¿Hay mas metodos??????
Garcias

Ivan Cosano Sanchez
Dep. Informática
Teletest Analytika
tel .93-415-44-27
"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Una posibilidad sencilla es consultar si el registro ha modificado
alguno de sus campos mientras lo estabas tratando justo antes de enviar la
sentencia de actualización. Por ejemplo:

IF EXISTS(SELECT 1 FROM tuTabla WHERE pk=valorPK AND


campo1=valorCampo1
)
iniciamos su modificación
ELSE
él el que decida la acción a tomar


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ivan Cosano Sanchez" escribió en el mensaje
news:
> Hola!
> Como puedo saber si los datos que yo estoy modificando en un momento en
> concreto han sido
> modificados mientras tanto.
> No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que
los
> datos han sido modificados.
> gracias
>
>
>



Respuesta Responder a este mensaje
#3 Maxi
29/11/2005 - 12:34 | Informe spam
Sip, hay mas formas.

En sql2000

Usar un campo TimeStamp

En sql2005

Usar QueryNotification


Salu2
Maxi [MVP SQL SERVER]


"Ivan Cosano Sanchez" escribió en el mensaje
news:
Gracias esta bien...
¿Hay mas metodos??????
Garcias

Ivan Cosano Sanchez
Dep. Informática
Teletest Analytika
tel .93-415-44-27
"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Una posibilidad sencilla es consultar si el registro ha modificado
alguno de sus campos mientras lo estabas tratando justo antes de enviar
la
sentencia de actualización. Por ejemplo:

IF EXISTS(SELECT 1 FROM tuTabla WHERE pk=valorPK AND


campo1=valorCampo1
)
iniciamos su modificación
ELSE
sea
él el que decida la acción a tomar


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ivan Cosano Sanchez" escribió en el mensaje
news:
> Hola!
> Como puedo saber si los datos que yo estoy modificando en un momento en
> concreto han sido
> modificados mientras tanto.
> No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que
los
> datos han sido modificados.
> gracias
>
>
>








Respuesta Responder a este mensaje
#4 Alejandro Mesa
29/11/2005 - 16:38 | Informe spam
SQL Server 2000
timestam
http://msdn.microsoft.com/library/d...z_6fn4.asp

SQL Server 2005
Using Query Notifications
http://msdn2.microsoft.com/en-us/li...75110.aspx


AMB


"Ivan Cosano Sanchez" wrote:

Gracias esta bien...
¿Hay mas metodos??????
Garcias

Ivan Cosano Sanchez
Dep. Informática
Teletest Analytika
tel .93-415-44-27
"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> Una posibilidad sencilla es consultar si el registro ha modificado
> alguno de sus campos mientras lo estabas tratando justo antes de enviar la
> sentencia de actualización. Por ejemplo:
>
> IF EXISTS(SELECT 1 FROM tuTabla WHERE pk=valorPK AND
campo1=valorCampo1
> )
> iniciamos su modificación
> ELSE
> él el que decida la acción a tomar
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Ivan Cosano Sanchez" escribió en el mensaje
> news:
> > Hola!
> > Como puedo saber si los datos que yo estoy modificando en un momento en
> > concreto han sido
> > modificados mientras tanto.
> > No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que
> los
> > datos han sido modificados.
> > gracias
> >
> >
> >
>
>
>




Respuesta Responder a este mensaje
#5 Miguel Egea
30/11/2005 - 00:46 | Informe spam
Ado.NET lo resuelve incluyendo en la cláusula where comparacion con los
valores antiguos para todos los campos y no solo para la Pk. de esta forma
si alguno ha cambiado @@rowcount te devolverá 0 con la ventaja de notener
que añadir columns timestamp a la tabla.

No estoy muy seguro de que Notification services, que también está
disponible en SQL SERver 2000 te vaya a ayudar en esto, si bien el evento
se dispara en cuanto se produce, los temas de concurrencia podrían darte
algún disgusto, si yo no me equivoco.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"



"Ivan Cosano Sanchez" wrote in message
news:
Gracias esta bien...
¿Hay mas metodos??????
Garcias

Ivan Cosano Sanchez
Dep. Informática
Teletest Analytika
tel .93-415-44-27
"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Una posibilidad sencilla es consultar si el registro ha modificado
alguno de sus campos mientras lo estabas tratando justo antes de enviar
la
sentencia de actualización. Por ejemplo:

IF EXISTS(SELECT 1 FROM tuTabla WHERE pk=valorPK AND


campo1=valorCampo1
)
iniciamos su modificación
ELSE
sea
él el que decida la acción a tomar


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ivan Cosano Sanchez" escribió en el mensaje
news:
> Hola!
> Como puedo saber si los datos que yo estoy modificando en un momento en
> concreto han sido
> modificados mientras tanto.
> No me refiero a los bloqueos, sino a lo que hace SQL7, que te avisa que
los
> datos han sido modificados.
> gracias
>
>
>








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