Tabelas temporárias no Sql Server

A sintaxe para criar uma tabela temporária no Sql Server é bastante simples, basta acrescentar o # antes do nome da mesma.

Sintaxe:

CREATE TABLE #nomeTable
(
nomecampoA varchar(80),
nomecampoB money
)

Tabelas temporárias são muito utilizadas quando precisamos reunir vários registros de várias tabelas em uma única seleção e exibi-las em uma aplicação qualquer (p.ex.: Delphi, Visual Studio, ASP.NET, etc.). .

É fundamental para aplicações cliente/servidor onde vários usuários estão acessando aquela procedure ao mesmo tempo.

Aqui vai um exemplo prático da utilização de tabelas temporárias.É importante saber que a tabela temporária só existe enquanto a procedure está sendo executada, após a execução da mesma ela é automaticamente excluída. Aproveitei para colocar um exemplo utilizando o CASE do Sql Server

CREATE PROCEDURE TesteTabelaTemporaria

as

create table #tmpTotalPage
(mes smallint null,
totalmes smallint null,
mediames decimal(9, 3) null )
Insert into #tmpTotalPage ( mes, totalmes, media)
(select DATEPART(MONTH,data) as Mes, count(*) as TotalAcessos, null
from Acessos AS AC
INNER JOIN CadastroTB AS C ON AC.idcad = C.idCad
group by DATEPART(MONTH,data))

select mes, totalmes,
media = case
when mes = 1 then totalmes / 31
when mes = 2 then totalmes / 28
when mes = 3 then totalmes / 30
when mes = 4 then totalmes / 31
when mes = 5 then totalmes / 30
when mes = 6 then totalmes / 31
when mes = 7 then totalmes / 30
when mes = 8 then totalmes / 31
when mes = 9 then totalmes / 30
when mes = 10 then totalmes / 31
when mes = 11 then totalmes / 30
when mes = 12 then totalmes / 31
end
from #tmpTotalPage

Fonte: http://www.criarweb.com/artigos/610.php

Deixe um comentário