Обходной путь для столбцов идентификации Teradata и проблемы с изменчивыми / временными таблицами
Я немного новичок в Teradata и не могу понять, почему я не могу выбрать столбец идентификаторов в изменчивой таблице. Выполняя что-то вроде следующего, я получаю ошибку ниже.
create multiset volatile table Temp_Events as
(
select es.eventSettingId, -- this is an identity column
evt.lob
from ForecastDevDW.cal_eventSettings es
join ForecastDevDW.cal_eventTypes evt
on evt.eventTypeId = es.eventTypeId
)
with data
primary index (eventSettingId)
on commit preserve rows;
ОШИБКА: CREATE TABLE AS в настоящее время не поддерживает столбцы идентификаторов.
Есть ли способ выбрать столбцы идентификаторов в энергозависимой / временной таблице в Teradata? Есть ли обходные пути для этой ошибки? Кроме того, кто-нибудь знает, почему вы не можете выбрать столбцы идентификаторов в изменчивой таблице? (Я привык к SQL Server, и это вообще не проблема.)
1 ответ
Решение
Это действительно странное ограничение, даже приведение типов к VarChar завершается неудачно с тем же сообщением об ошибке.
Но есть обходной путь, поместите Select в производную таблицу:
create multiset volatile table Temp_Events as
(
select *
from
(
select es.eventSettingId, -- this is an identity column
evt.lob
from ForecastDevDW.cal_eventSettings es
join ForecastDevDW.cal_eventTypes evt
on evt.eventTypeId = es.eventTypeId
) as dt
)
with data
primary index (eventSettingId)
on commit preserve rows;