2014-01-21 2 views

ответ

1

Короткий ответ: No. Volatile определения таблиц не хранятся в таблице словарей данных DBC.Tables. В отличие от глобальной временной таблицы, создание таблицы volatile также не отслеживается таблицей словарей в DBC.TempTables.

Более длинный ответ: Вы можете, но это зависит от того, где выполняется ваш SQL.

Вы можете просто проверить наличие таблицы, используя что-то вроде SELECT 1 FROM {VolatileTableName} WHERE 1=0; или SELECT 'X' FROM {VolatileTableName] GROUP BY 1; и уловить ошибку, если объект не существует. Если вы не получили ошибку, объект существует. Не зная, где работает ваш код (BTEQ, Хранимая процедура, Макро), трудно объяснить правильную обработку ошибок.

3

В качестве летучей таблицы можно видеть только в текущем сеансе, вы должны знать, какие таблицы были созданы.

В противном случае я бы просто попробовал ТАБЛИЦУ DROP и проигнорировал возможную ошибку «объект не существует».

Смежные вопросы