Store procedure para obtener el id antes de insert

Tengo una duda realize el siguiente store procedure para obtener el ID antes de insertar Mi IDUsuario es Identity y PORQUE en la tabla.
Hago lo siguiente
CREATE PROCEDURE ObtenerUsuarioID
(
@UsuarioID int OUTPUT
)
AS
SELECT TOP 1 IdUsuario FROM Operadores ORDER BY IdUsuario DESC
IF @@ROWCOUNT = 0
SELECT @UsuarioID = 1
ELSE
DECLARE @MyCounter int
SET @MyCounter = 1
SELECT @UsuarioID = 'SELECT TOP 1 IdUsuario FROM Operadores ORDER BY IdUsuario DESC' + @MyCounter
RETURN
GO
Pero... Cuando lo ejecuto en el query analyzer me muestra lo siguiente:
Procedure 'ObtenerUsuarioID' expects parameter '@UsuarioID', which was not supplied.
No entiendo si es un parámetro de salida. Me pueden ayudar por favor o existe alguna otra forma de obtener el ID con otras consultas.
¿Ademas me pueden decir por favor como puedo ejecutar (probar) store procedure en el query analyzer?

1 Respuesta

Respuesta
1
El parámetro de salida no lo requieres, sugiero eliminarlo y dejar solamente:
CREATE PROCEDURE ObtenerUsuarioID
( )
AS
SELECT TOP 1 IdUsuario FROM Operadores ORDER BY IdUsuario DESC
IF @@ROWCOUNT = 0
SELECT @UsuarioID = 1
ELSE
DECLARE @MyCounter int
SET @MyCounter = 1
SELECT TOP 1 IdUsuario+1 FROM Operadores ORDER BY IdUsuario DESC
RETURN
GO

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas