A resposta que eu encontrei segue abaixo e não tem while por que foi mais simples fazer um insert com select uma vez só:
DECLARE @TABELANOTAS TABLE ([DATA] DATE, [NUMNOTAS] INT)
DECLARE @DATAINICIAL DATE
DECLARE @DATAFINAL DATE
DECLARE @NUMNOTAS INT
INSERT INTO
@TABELANOTAS ([DATA], [NUMNOTAS])
SELECT
[DATA],DBO.[NOTAS_NA_DATA]([DATA])
FROM
[NOTAS FISCAIS]
GROUP BY
[DATA]
SELECT * FROM @TABELANOTAS
Aline, ambos os comandos funcionam e darão o mesmo resultado. quando você tiver dúvida, você sempre pode testar desse jeito aqui:
DECLARE @TESTE DATE
SET @TESTE = '1900-01-01'
SELECT @TESTE = DATEADD(DAY, 1, @TESTE)
SELECT @TESTE
DECLARE @TESTE1 DATE
SET @TESTE1 = '1900-01-01'
SET @TESTE1 = DATEADD(DAY, 1, @TESTE1)
SELECT @TESTE1
E verificar o funcionamento da função nesse caso.