No bloquear tabla al hacer select

Bueno mi problema es que tengo un timer haciendo un select desde power builder es este:
SELECT Folio
INTO :s
FROM prueba with (NOLOCK)
WHERE Folio=123
USING SQLCA;
Lo hace cada 0.5 seg : Timer(0.5)
El objtivo es que cuando se inserte el registro con folio 123 realice una función con ese registro ...
El problema es que como esta hacieno continuamente el select este bloquea la tabla y cuando quiero insertar el registro en la base de datos no se puede dice que esta ocupada o bloqueada...
Uso SQLite3 espero m epuedan ayudar como hacer q el select se realice sin bloquear la tabla

1 respuesta

Respuesta
1
Me parece que tu problema no es tu SELECT si no la manera de como guardas tus registros.
Deberías usar los ROLLBACK Y COMMIT correctamente. Acá te dejo un link donde respondo una pregunta sobre ello.
[url=http://www.todoexpertos.com/mitodoexpertos/expert/questions/view/2707280/bloqueos-powerbuilder]http://www.todoexpertos.com/mitodoexpertos/expert/questions/view/2707280/bloqueos-powerbuilder [/url]
Luego de eso veras que todo debería irte bien. Por una lado revisa eso que te comento.
Y otro dato adicional puedes hacer lecturas "fantasma" esas que leen los datos sin generar bloqueos. Para ello antes de tu select colocas esto
set transaction isolation level 0
Con eso logras leer las filas aun si estas no son COMITEADAS.
Acá te dejo otro link con algunos manuales

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas