Question

Quelqu'un face à un problème à l'ASE Sybase 12 lorsque vous déposez une table temporaire, il persiste encore à une session en cours. Donc, vous rencontrez « La table existe déjà » lorsque vous essayez de sélectionner des données dans ce nouveau

Était-ce utile?

La solution

Eh bien, vous avez besoin de lire les manuels, au moins la syntaxe pour les commandes que vous comptez utiliser, avant d'écrire du code. Sinon, vous ferez face à des problèmes à chaque tour. Cela dépend de ce que vous essayez de faire.

  1. SELECT ... INTO #MyTable crée une table et réussit parce qu'il n'existe pas. Ainsi, un deuxième SELECT ... INTO #MyTable va essayer de créer #MyTable, trouver qu'il existe, et l'échec.

  2. Si vous souhaitez effectuer une deuxième SELECT dans la même table, TRUNCATE la table, puis utilisez SELECT ... INTO EXISTING TABLE #MyTable.

  3. Ou DROP TABLE et sauter le modificateur de EXISTING TABLE.

  4. Si vous voulez la table pour contenir la somme de plusieurs SELECTS, évidemment, sauter le TRUNCATE.

Autres conseils

Je fais normalement ceci:

1) CREATE TABLE #temptable ( ....

)

INSERT INTO #temptable SELECT .....

Cela ne donnera erreur.

Cela résout une autre erreur possible. Si la clause WHERE accompagnant les « select INTO » donne aucune ligne, la table temporaire ne pas avoir aucune ligne, mais la table temporaire ne sera pas créé du tout. Cela pourrait faire le coup procédure stockée ultérieurement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top