Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Qué usar para este caso, transacciones?

Estas en el tema de Qué usar para este caso, transacciones? en el foro de SQL Server en Foros del Web. Buenas noches: Tengo una duda... tengo es procedimiento: PROCEDURE [dbo].[usp_GENESYS_Estadistica_Cola] @id_estadistica integer OUTPUT, @opcion nvarchar(50) AS insert into GENESYS_ESTADISTICA_COLA ([fecha_hora_inicio],[fecha_hora_fin],opcion_2) values (getdate(),'',@opcion) SELECT @id_estadistica = ...
  #1 (permalink)  
Antiguo 28/09/2012, 17:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 74
Antigüedad: 18 años, 7 meses
Puntos: 0
Qué usar para este caso, transacciones?

Buenas noches:

Tengo una duda... tengo es procedimiento:


PROCEDURE [dbo].[usp_GENESYS_Estadistica_Cola]
@id_estadistica integer OUTPUT,
@opcion nvarchar(50)
AS
insert into GENESYS_ESTADISTICA_COLA ([fecha_hora_inicio],[fecha_hora_fin],opcion_2) values (getdate(),'',@opcion)
SELECT @id_estadistica = max(id_estadistica) FROM GENESYS_ESTADISTICA_COLA where opcion_2 = @opcion
GO

Lo que hace es insertar un registro y luego coger el ID de ese registro...

Lo que quiero es que nadie pueda agregar un registro mientras se ejecute este query... se puede hacer usando una transacción?.. o usando hilos.. estoy medio perdido con los conceptos y no encuentro algo en español que me lo explique.
  #2 (permalink)  
Antiguo 28/09/2012, 21:47
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Qué usar para este caso, transacciones?

¿Intentaste con Begin Tran antes el Insert
y Commit despues el Select?
Debe funcionar perfectamente.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: query, registro, select, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.