Buenas quiro insertar mediante un select insert un numero indeterminado de
filas en una tabla (t1) con identidad,luego quiero recuparar los indices de
las filas insertadas e insertarlos en unasegunda tabla (t2).
Lo que se me ha ocurrido es bloquear en modo exclusivo la tabla1 marcar las
filas insertadas de alguna manera, recuperar sus indices, insertar en t2,
limpiar las marcas y por ultimo liberar el bloqueo.
algo asi como:
Begin trans xxxx
insert t1 (xlock,tablock)
select *,marca=1 from Unatablacualquiera1
insert t2
select codigo from t1where marca=1
commit tran xxxx
el caso esq no se como hacer para bloquear la tabla para q no se cambien las
marcas por cualquier razon fuera de mi control. hay procesos concurrentes
sobre la tabla. estoy mirando para usar las clausulas xlock y tablock. Me
serviran bien? donde debo acplicarlas, a la tabla, a la transacción?
Alguna otra manera para hacerlo?
Gracias por adelatado:
Kano
Leer las respuestas