Olá, tudo certo? No código abaixo, eu tentei replicar o funcionamento das tabelas temporárias assim como na aula, porém utilizei o outro exercício..
Entretanto, aparentemente algo está incorreto pois o código ao ser executado apresenta a seguinte mensagem:
"Msg 208, Level 16, State 0, Line 33 Nome de objeto '#REGISTROSFISCAIS2' inválido."
Alguma ideia do que pode ser?
-- TABELA TEMPORÁRIA VISÍVEL SOMENTE P/ O BLOCO A QUAL ESTÁ SENDO EXECUTADA
DECLARE @REGISTROS_FISCAIS TABLE (DATA_VENDA DATE, NOTAS_EMITIDAS INT)
-- TABELA TEMPORÁRIA CONEXÃO ATUAL
IF OBJECT_ID('#REGISTROS_FISCAIS2', 'U') IS NOT NULL
BEGIN
DROP TABLE #REGISTROS_FISCAIS2
CREATE TABLE #REGISTROS_FISCAIS2 (DATA_VENDA DATE, NOTAS_EMITIDAS INT)
END
-- TABELA TEMPORÁRIA P/ TODAS AS CONEXÕES
IF OBJECT_ID('##REGISTROS_FISCAIS3', 'U') IS NOT NULL
BEGIN
DROP TABLE ##REGISTROS_FISCAIS3
CREATE TABLE ##REGISTROS_FISCAIS3 (DATA_VENDA DATE, NOTAS_EMITIDAS INT)
END
DECLARE @NUM_NOTAS INT, @DT_INICIAL DATE, @DT_FINAL DATE
SET @DT_INICIAL = '20170101'
SET @DT_FINAL = '20170110'
WHILE @DT_INICIAL <= @DT_FINAL
BEGIN
SELECT
@NUM_NOTAS = COUNT(*) FROM [NOTAS FISCAIS]
WHERE
DATA = @DT_INICIAL
BEGIN
INSERT INTO @REGISTROS_FISCAIS (DATA_VENDA, NOTAS_EMITIDAS) VALUES (@DT_INICIAL, @NUM_NOTAS)
INSERT INTO #REGISTROS_FISCAIS2 (DATA_VENDA, NOTAS_EMITIDAS) VALUES (@DT_INICIAL, @NUM_NOTAS)
INSERT INTO ##REGISTROS_FISCAIS3 (DATA_VENDA, NOTAS_EMITIDAS) VALUES (@DT_INICIAL, @NUM_NOTAS)
END
SELECT @DT_INICIAL = DATEADD(DAY, 1, @DT_INICIAL)
END
SELECT * FROM @REGISTROS_FISCAIS
SELECT * FROM #REGISTROS_FISCAIS2
SELECT * FROM ##REGISTROS_FISCAIS3