Criando Tabelas Temporarias em MS-SqlServer

Autor : Antonio Carlos Ferreira de Azevedo
Postado em : 18/07/2018


Criando Tabelas Temporárias em MS-SqlServer

São criada em TempDB podendo ser classificadas em Locais e Globais, os principais tipos são:

  • Locais, utilizam o prefixo '@', são como matrizes e ficam restritas ao escopo local de uma rotina, como uma variável local comum.
  • Locais, utilizam o prefixo '#' e possuem visibilidade restrita a conexão responsável por sua criação, outras conexões não encergam esta tabela e desaparecem quando nenhuma conexão as usam.
  • Globais, Temporárias são criadas com o prefixo '##' e são visíveis por todas as conexões, são adicionadas no log.

Para criar uma tabela temporária utilizamos o comando CREATE TABLE e para apagar o comando DROP TABLE, assim como faríamos para criar uma tabela normal.

Segue exemplo para criação de uma tabela temporária em Sql Server:

CREATE TABLE tempdb.dbo.#temp 
    (  
         id INT,
         depto VARCHAR(100) COLLATE Latin1_General_CI_AS,
         cargo VARCHAR(80) COLLATE Latin1_General_CI_AS     
    )

Para verificar se a tabela ainda existe e apaga-la utilize o seguinte comando:

IF OBJECT_ID('tempdb.dbo.#temp', 'U') IS NOT NULL
BEGIN
    DROP TABLE #temp
END    

Para manipular a tabela utilize os comandos normalmente:

-- select
SELECT * FROM #temp tmp
    INNER JOIN tblclientes cli ON cli.idproduto = tmp.id

-- delete
DELETE #temp WHERE id = 2035

-- update
UPDATE #temp set cargo = 'Diretor' WHERE id = 2035


Links Relacionados



Comentários