Sybase падает временный стол
-
27-09-2019 - |
Вопрос
Кто-нибудь сталкивается с проблемой, когда вы бросаете временную таблицу на Sybase ASE 12, она все еще сохраняется на текущей сессии. Итак, вы столкнулись с «Таблицей уже существует» при попытке выбрать данные в него снова
Решение
Ну, вам нужно прочитать руководства, по крайней мере, синтаксис для команд, которые вы ожидаете использовать, прежде чем писать код. В противном случае вы столкнетесь с проблемами на каждом ходу. Это зависит от того, что вы пытаетесь сделать.
SELECT ... INTO #MyTable
Создает стол и преуспевает, потому что он не существует. Итак, второйSELECT ... INTO #MyTable
попробую создать#MyTable
, Найдите, что он существует и не удается.Если вы хотите выполнить секунду
SELECT
в ту же таблицу,TRUNCATE
Таблица, затем использоватьSELECT ... INTO EXISTING TABLE #MyTable
.Или
DROP TABLE
и пропуститьEXISTING TABLE
модификатор.Если вы хотите таблицу, чтобы содержать сумму нескольких
SELECTS
, Очевидно, пропуститеTRUNCATE
.
Другие советы
Я обычно делаю это:
1) Создать таблицу # Отделом (....
)
Вставить в # выпупленный выбор .....
Это никогда не даст ошибки.
Это решает еще одну возможную ошибку. Если пункт, сопровождающий «Выбор в», дает никаких рядов, временная таблица не будет иметь нулевых рядов, а временная таблица не будет создана вообще. Это может заставить хранить взорваться позже.