Hola... tengo el siguiente procedimiento almacenado... que recibe como
parametro un registro idpaso y descripción.
Al grabar el proc.. genera su propio 'nuevo número` . lo que necesito es
que si el pIdPaso que viene como parametros es distinto que el nuevo valor
generado en la linea INSERT INTO Pasos SELECT ISNULL(MAX(IdPaso), 0)+1 ,
@pdescripcion FROM Pasos me devuelva este nuevo valor en la variable
de retorno @NROFILA
ALTER PROCEDURE [dbo].[GrabaPasos]
@pIdPaso smallint,
@pDescripcion varchar(50)--,
AS
SET nocount ON
DECLARE @error int
SET transaction isolation level SERIALIZABLE
BEGIN transaction
INSERT INTO Pasos
SELECT ISNULL(MAX(IdPaso), 0)+1 , @pdescripcion
FROM Pasos
SET @error = @@error
IF @error != 0
BEGIN
ROLLBACK TRANSACTION
RETURN -1
END
ELSE
BEGIN
IF pIdPaso != IdPaso --aca seria donde debo hacer el control
BEGIN
PRINT 'ESTO NO FUNCA'
END
END
SET @error =@@error
COMMIT TRANSACTION
RETURN @Error
Leer las respuestas