我对Teradata有些新意,无法理解为什么我无法在易失性表中选择标识列。执行以下操作时,我收到以下错误。
dt <- data.table(x = c('A,B,C,D,E', 'A,C,D', 'B,C,C,D'))
错误:CREATE TABLE AS目前不支持标识列。
有没有办法在Teradata中的volatile / temporary表中选择标识列?此错误的任何变通办法?此外,有谁知道为什么你不能在易失性表中选择标识列? (我习惯使用SQL Server,这根本不是问题。)
答案 0 :(得分:2)
这确实是一个奇怪的限制,即使对VarChar进行类型转换也会失败并显示相同的错误消息。
但是有一个解决方法,将Select in a Derived Table:
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;