Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Duda sobre Transacciones (https://www.clubdelphi.com/foros/showthread.php?t=11481)

Tama 15-06-2004 15:56:44

Duda sobre Transacciones
 
:confused: Hola:

tengo un problema con las transacciones....Y es que tengo una tabla donde hago un insert y me gustaria bloquear esa tabla ( ya se que no es lo mas optimo) para que nadie mas pudiese insertar registros mientras lo hago yo.
Lo estoy programando con ADO.

Si me pudieseis ayudar con un ejemplo os lo agradeceria un monton ya que llevo varios días con este problema.

Gracias.

guillotmarc 15-06-2004 19:55:20

Hola

Prueba a añadir TABLOCKX al final de la instrucción INSERT.

NOTA : Tienes que tener una transacción abierta, y la tabla se mantendrá bloqueada hasta que finalize la transacción.

En la ayuda de SQL Server encontrarás más información sobre este modificador.

Saludos.

Tama 16-06-2004 10:09:54

Hola de nuevo:

Estoy hecha un lio.El código que yo escribo es :

begintrans
bucle for
insert

commintrans

Pero mientras ejecuto esto, desde otro sitio ejecuto otros inserts, se mezclan en vez de bloquearse.

Si me pudieses ayudar te lo agradecería mucho.
Gracias.

guillotmarc 16-06-2004 10:58:05

¿ Has consultado ese modificador en la ayuda de SQL Server ?

Como veras en los ejemplos que da, si lanzas la siguiente consulta :

SELECT COUNT(*) FROM Tabla WITH (TABLOCK, HOLDLOCK)

Vas a bloquear la tabla hasta que finalize la transacción. Por lo que tienes que ejecutar esta consulta después del BeginTrans y antes del primer Insert.

Saludos.


La franja horaria es GMT +2. Ahora son las 12:08:03.

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