Ir para conteúdo
Fórum CódigoFonte.net
L. Teixeira

Tabela Temporária Dinâmica

Recommended Posts

Tenho uma tabela temporária global que é criada dinamicamente em um dado instante. Porém a tabela não tem um nome fixo. Hora a tabela pode se chamar ##TMP1, hora ##TMPXYZ, enfim, o nome varia de acordo com uma regra que não tenho como expor aqui.

A questão é que no momento de executar a consulta, eu tenho apenas o nome desta tabela em uma variável @nomeTabela VARCHAR(50).

Eu até poderia gerar um comando @SQL:

set @SQL = 'select * from ' + @nomeTabela

e rodar com EXECUTE(@SQL), mas não é o que pretendo fazer, pois o acesso a essa tabela não será tão simples como esse do exemplo.

A pergunta é: será que existe um outro meio de executar uma consulta SQL (sem usar a função Execute) em uma tabela temporária, cujo nome da mesma está em uma variável @nomeTabela VARCHAR(50) ?

ex: SELECT * FROM @nomeTabela -- esse comando não funciona, mas preciso de algo parecido com isso.

Aguardo sugestões.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
declara ela primeiro

DECLARE @Tabela TABLE

(

id int not null,

nome varchar(50)

)

SELECT * FROM @Tabela

Obrigado pela resposta, mas acho que você não entendeu o meu questionamento.

Eu não tenho controle sobre a tabela, é um outro processo que gera essa tabela, e só tenho o nome da tabela em uma variável @nomeTabela varchar.

Não tenho como declarar a tabela, pois ela é criada como global (##) e com um nome aleatório.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...