Hola!
Tengo una pregunta tecnica sobre funcionamiento de stored procedures y
tablas que diferentes PC´s ejecutan al mismo tiempo en un mismo Servidor
sql.
Tengo un stored procedure que hace lo siguiente (entre otras cosas):
PROCEDURE
Select @IDPROCESS=(select isnull(max(ESP_ID),0)+1 from esp010)
create table gertemp ( status char(1) NULL ... blablabla
INSERT INTO gertemp blablabla
// Modifica unos datos de la tabla "gertemp"
//y despues
Insert into ESP010 con los datos de gertemp + el campo @IDPROCESS
drop table gertemp
Retorno el @IDPROCESS al programa
o Sea, genero un identificador unico que es tomado de la tabla ESP
luego grabo la tabla temporaria "gertemp" con otros datos
despues paso esos datos a la tabla ESP010 mas un campo con el contenido de
@IDPROCESS
apago la tabla temporaria...
Retorno al programa aquel IDPROCESS
Luego el programa lee los registros de la tabla ESP usando como filtro aquel
IDPROCESS que generé...
Mi pregunta es la siguiente:
la tabla "gertemp" es "unica" por cada hilo de ejecucion??.. o sea no
interfiere si otra PC ejecuta el stored procedure "al mismo tiempo" (bue,
casi)...
Otra mas... aquel identificador unico que genero en IDPROCESS y que va a
incrementarse una vez que el stored procedure grabe otro registro en ESP,
puede duplicarse si otro PC ejecuta el SProcedure al mismo tiempo???...
Select @IDPROCESS=(select isnull(max(ESP_ID),0)+1 from esp010)
Los dos hilos de ejecucion pueden retornar el mismo numero???...
O no prociso preocuparme por todo eso porque el SQL da un semaforo a cada
proceso y nada interfiere con lo otro????
Bue, espero haberme explicado...
Gabriel.
Leer las respuestas