Parâmetros de Saída e declaração RETURN no SQL Server
Parâmetros de Saída e declaração RETURN em Procedimentos Armazenados
Os Parâmetros de Saída habilitam um procedimento armazenado a retornar dados ao procedimento chamador.
Usamos a palavra-chave OUTPUT quando o procedimento é criado, e também quando é chamado.
No procedimento armazenado, o parâmetro de saída aparece como uma variável local; No procedimento chamador, uma variável deve ser criada para receber o parâmetro de saída.
Declaração RETURN
O comando RETURN termina incondicionalmente o procedimento e retorna um valor inteiro ao chamador.
Pode ser usado para retornar status de sucesso ou falha do procedimento.
Vejamos um exemplo, criando um procedimento de nome sp_teste
CREATE PROCEDURE sp_teste (@par1 AS INT OUTPUT)
AS
SELECT @par1 * 2 AS Resultado
RETURN
--Executar passando um parâmetro:
DECLARE @valor AS INT = 15
SELECT @valor AS Valor_Inicial
EXEC sp_teste @valor OUTPUT
PRINT @valor;
Outro exemplo
CREATE PROCEDURE sp_LivroValor ( @Quantidade SMALLINT, @Cod SMALLINT = -10, @ID SMALLINT) AS SET NOCOUNT ON IF @ID >= 100 BEGIN SELECT Nome_Livro as Livro, Preco_Livro * @Quantidade AS Preço FROM tbl_Livros WHERE ID_Livro = @ID RETURN 1 END ELSE RETURN @Cod
Executar:
DECLARE @Codigo INT EXEC @Codigo = sp_LivroValor @ID = 103, @Quantidade = 10 PRINT @Codigo
Anterior: Parâmetros de Entrada em Stored Procedures no SQL Server
Boa tarde!
Tenho uma dúvida, estou tentando fazer uma procedure, que valide datas. Por exemplo: Quando eu for colocar duas datas, 02-09-2009 e 08-07-2001. Quero que a procedure emita algo dizendo que a primeira data é maior que a segunda. Como faço isso?