Procedimiento almacenado

29/06/2006 - 15:59 por Hugo Gsell | Informe spam
Hola
Tengo una tabla que tiene un campo "identificador" idPaso que es clave...
pero no autonumerico
es decir, lo manejo yo. Como hay mas de 100 usuarios que pueden estar
"cargando datos" en esta tabla, necesito "de forma exclusiva" antes de
grabar recuperar el último código y sumarle uno.
Mi procedimiento almacenado actualmente está así y funciona (VER CODIGO
ABAJO)
La preguntas es ... como haría (en código transac) para:
1) que esta busqueda e inserción se ejecute como una transacción
2) qué debería agregar para hacer la búsqueda del último ID existente,
sumarle 1 y luego grabar este valor.
NOTA: NOTESE QUE SI BIEN EL IDPASO viene como parámetro no se lo va a usar
para grabarlo... esto es porque se pretende en 'alguna version posterior'
del procedimiento almacenado que si estos nros son distintos se devuelva
algun tipo de mensaje o el nro grabado...
Desde ya MUCHAS GRACIAS.

Hugo A. Gsell
Sgo del Estero
Argentina

codigo del procedimiento almacenado

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[GrabaPasos]
@pIdPaso smallint,
@pDescripcion as varchar(50)
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO Pasos (IdPaso,Descripcion) VALUES(@pIdPaso,@pDescripcion)
END

Preguntas similare

Leer las respuestas

#11 Javier Loria
30/06/2006 - 12:51 | Informe spam
Hola Hugo:
Prueba con:
==INSERT INTO Pasos (IdPaso,Descripcion)
SELECT COALESCE(MAX(IdPaso),0)+1, @Descripcion
FROM Pasos
== Saludos,


Javier Loria
Costa Rica
"Hugo Gsell" wrote in message
news:
Hola
Tengo una tabla que tiene un campo "identificador" idPaso que es clave...
pero no autonumerico
es decir, lo manejo yo. Como hay mas de 100 usuarios que pueden estar
"cargando datos" en esta tabla, necesito "de forma exclusiva" antes de
grabar recuperar el último código y sumarle uno.
Mi procedimiento almacenado actualmente está así y funciona (VER CODIGO
ABAJO)
La preguntas es ... como haría (en código transac) para:
1) que esta busqueda e inserción se ejecute como una transacción
2) qué debería agregar para hacer la búsqueda del último ID existente,
sumarle 1 y luego grabar este valor.
NOTA: NOTESE QUE SI BIEN EL IDPASO viene como parámetro no se lo va a usar
para grabarlo... esto es porque se pretende en 'alguna version posterior'
del procedimiento almacenado que si estos nros son distintos se devuelva
algun tipo de mensaje o el nro grabado...
Desde ya MUCHAS GRACIAS.

Hugo A. Gsell
Sgo del Estero
Argentina

codigo del procedimiento almacenado

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[GrabaPasos]
@pIdPaso smallint,
@pDescripcion as varchar(50)
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO Pasos (IdPaso,Descripcion) VALUES(@pIdPaso,@pDescripcion)
END




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida