Sybase Dropping Table temporaire
-
27-09-2019 - |
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
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.
-
SELECT ... INTO #MyTable
crée une table et réussit parce qu'il n'existe pas. Ainsi, un deuxièmeSELECT ... INTO #MyTable
va essayer de créer#MyTable
, trouver qu'il existe, et l'échec. -
Si vous souhaitez effectuer une deuxième
SELECT
dans la même table,TRUNCATE
la table, puis utilisezSELECT ... INTO EXISTING TABLE #MyTable
. -
Ou
DROP TABLE
et sauter le modificateur deEXISTING TABLE
. -
Si vous voulez la table pour contenir la somme de plusieurs
SELECTS
, évidemment, sauter leTRUNCATE
.
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.