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

¿Fue útil?

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.

  1. SELECT ... INTO #MyTable crea una tabla y tiene éxito porque no existe. Por lo que un segundo SELECT ... INTO #MyTable tratará de crear #MyTable, encontrará que existe, y no.

  2. Si desea realizar una segunda SELECT en la misma tabla, TRUNCATE la tabla, a continuación, utilizar SELECT ... INTO EXISTING TABLE #MyTable.

  3. O DROP TABLE y omitir el modificador EXISTING TABLE.

  4. Si desea que la tabla para contener la suma de varios SELECTS, obviamente, no tome la TRUNCATE.

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top