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

Foi útil?

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.

  1. SELECT ... INTO #MyTable cria uma tabela e consegue porque ela não existe. Então, um segundo SELECT ... INTO #MyTable Vou tentar criar #MyTable, descobri que existe e falha.

  2. Se você quiser realizar um segundo SELECT na mesma mesa, TRUNCATE a tabela, então use SELECT ... INTO EXISTING TABLE #MyTable.

  3. Ou DROP TABLE e pular o EXISTING TABLE modificador.

  4. Se você deseja que a tabela contenha a soma de vários SELECTS, obviamente, pule o TRUNCATE.

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top