SELECT COUNT(*) FROM [NOTAS FISCAIS]
WHERE DATA IN ('20170101', '20170102')
--Somando todas as notas dos dias 01/01/2017 e 02/01/2017.
CREATE PROCEDURE NumNotasSP
@DATA_INICIAL AS DATE,
@DATA_FINAL AS DATE,
@NUMNOTAS AS INT OUTPUT
AS
BEGIN
SELECT @NUMNOTAS = COUNT(*) FROM [NOTAS FISCAIS]
WHERE DATA IN (@DATA_INICIAL, @DATA_FINAL)
--Somando todas as notas dos dias declarados.
END
DECLARE @NUMNOTAS INT
DECLARE @DATA_INICIAL DATE, DECLARE @DATA_FINAL DATE
SET @DATA_INICIAL = '20170101'
SET @DATA_FINAL = '20170102'
EXEC NumNotasSP @DATA_INICIAL = @DATA_INICIAL, @DATA_FINAL = @DATA_FINAL, @NUMNOTAS = @NUMNOTAS OUTPUT
SELECT @NUMNOTAS
Erro que retorna: Mensagem 156, Nível 15, Estado 1, Linha 19 Sintaxe incorreta próxima à palavra-chave 'DECLARE'. Mensagem 137, Nível 15, Estado 1, Linha 20 É necessário declarar a variável escalar "@DATA_INICIAL".