Tabela temporária soltando Sybase
-
27-09-2019 - |
Pergunta
Alguém enfrenta um problema ao soltar uma tabela temporária no Sybase ASE 12, ele ainda persiste em uma sessão atual. Então você encontra "tabela já existe" ao tentar selecionar dados nela novamente
Solução
Bem, você precisa ler os manuais, pelo menos a sintaxe para os comandos que você espera usar antes de escrever o código. Caso contrário, você enfrentará problemas a cada passo. Depende do que você está tentando fazer.
SELECT ... INTO #MyTable
cria uma tabela e consegue porque ela não existe. Então, um segundoSELECT ... INTO #MyTable
Vou tentar criar#MyTable
, descobri que existe e falha.Se você quiser realizar um segundo
SELECT
na mesma mesa,TRUNCATE
a tabela, então useSELECT ... INTO EXISTING TABLE #MyTable
.Ou
DROP TABLE
e pular oEXISTING TABLE
modificador.Se você deseja que a tabela contenha a soma de vários
SELECTS
, obviamente, pule oTRUNCATE
.
Outras dicas
Eu normalmente faço isso:
1) Crie a tabela #Teptable (....
)
Insira em #Teptable Select .....
Isso nunca dará erro.
Isso resolve outro erro possível. Se a cláusula WHERE que acompanha a "seleção em" não produzir linhas, a tabela temporária não terá zero linhas, mas a tabela temporária não será criada. Isso poderia fazer o Proc armazenado explodir mais tarde.