Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar tabelas temporárias no SQL Server via MS Access


Aqui está um trecho de código VBA que usei para chamar um procedimento armazenado do DB2. A mesma técnica deve funcionar para qualquer instrução DDL. Para fazer isso, crie uma consulta de passagem e coloque seu CREATE TABLE #tblname... instrução como seu texto SQL.

IMPORTANTE:Em seguida, abra a folha de propriedades da consulta e defina a propriedade 'Retorna registros' como "Não".
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("qry_SP_CHANGE_COLUMN")
qdf.Connect = CurrentDb.TableDefs("SCHEMA_tblName").Connect
qdf.SQL = "call SCHEMA.SP_CHANGE_COLUMN(...)"
qdf.Execute dbFailOnError
qdf.Close
Set qdf = Nothing

Observe que você provavelmente não precisará alterar seu texto SQL. Você pode simplesmente deixar isso na consulta def se a estrutura da tabela nunca mudar.

O desafio para você é que você deve usar a mesma conexão para qualquer operação na tabela temporária. No minuto em que a conexão for fechada, sua tabela temporária desaparecerá porque é uma tabela temporária local e só é visível para essa conexão. Você pode evitar isso usando '##', tabelas temporárias globais, se tiver direitos para fazer isso.