Sybase caída tabla temporal
-
27-09-2019 - |
Pregunta
¿Tiene la cara a nadie un problema cuando se elimina una tabla temporal en el Sybase ASE 12 que aún persiste en la sesión actual. Así se encuentra con "tabla ya existe" cuando se trata de seleccionar los datos en él de nuevo
Solución
Bueno, tiene que leer los manuales, al menos, la sintaxis de los comandos que se vaya a utilizar, antes de escribir código. De lo contrario se enfrentan a problemas a cada paso. Depende de lo que está tratando de hacer.
-
SELECT ... INTO #MyTable
crea una tabla y tiene éxito porque no existe. Por lo que un segundoSELECT ... INTO #MyTable
tratará de crear#MyTable
, encontrará que existe, y no. -
Si desea realizar una segunda
SELECT
en la misma tabla,TRUNCATE
la tabla, a continuación, utilizarSELECT ... INTO EXISTING TABLE #MyTable
. -
O
DROP TABLE
y omitir el modificadorEXISTING TABLE
. -
Si desea que la tabla para contener la suma de varios
SELECTS
, obviamente, no tome laTRUNCATE
.
Otros consejos
hago normalmente esto:
1) CREATE #temptable TABLA ( ....
)
INSERT INTO #temptable SELECT .....
Esto nunca dará error.
Esto resuelve otro error posible. Si la cláusula WHERE que acompaña a los rendimientos "seleccione en" ninguna fila, la tabla temporal no tendrá ninguna fila, pero la tabla temporal no se creará en absoluto. Esto podría hacer que el procedimiento almacenado volar más tarde.