Есть ли способ в Teradata дляКак создать ВЗ заменить таблицу
CREATE OR REPLACE VOLATILE TABLE
AS
(
SELECT
)
мне нужно, чтобы убедиться, что он не остановится, если таблица уже существует
Есть ли способ в Teradata дляКак создать ВЗ заменить таблицу
CREATE OR REPLACE VOLATILE TABLE
AS
(
SELECT
)
мне нужно, чтобы убедиться, что он не остановится, если таблица уже существует
Короткий ответ: No. Volatile определения таблиц не хранятся в таблице словарей данных DBC.Tables. В отличие от глобальной временной таблицы, создание таблицы volatile также не отслеживается таблицей словарей в DBC.TempTables.
Более длинный ответ: Вы можете, но это зависит от того, где выполняется ваш SQL.
Вы можете просто проверить наличие таблицы, используя что-то вроде SELECT 1 FROM {VolatileTableName} WHERE 1=0;
или SELECT 'X' FROM {VolatileTableName] GROUP BY 1;
и уловить ошибку, если объект не существует. Если вы не получили ошибку, объект существует. Не зная, где работает ваш код (BTEQ, Хранимая процедура, Макро), трудно объяснить правильную обработку ошибок.
В качестве летучей таблицы можно видеть только в текущем сеансе, вы должны знать, какие таблицы были созданы.
В противном случае я бы просто попробовал ТАБЛИЦУ DROP и проигнорировал возможную ошибку «объект не существует».