我是Teradata的新手(1周),我的主要技能是SQL Server。 我将数据从其中一个TeraData表拉到SQL Server表,TD表有一个带负值的Identity列。我查看了该表的DDL,它没有提到一个开头并以值结束。
那么,TeraData在那里有负值?此外,如果我将其转移到SQL Server,我应该创建一个新的标识列,还是应该维护我从TeraData获得的标识值?
答案 0 :(得分:4)
如果列定义为GENERATED BY DEFAULT
,则可能已直接插入负值。
如果GENERATED ALWAYS
没有NO CYCLE
且MAXVALUE
已到达,则会在MINVALUE
处重新开始,默认情况下,最小值和最大值均基于数据类型的可能范围。
在Teradata中很难使用IDENTITY列,根据您的需要决定是否需要保留它们。
答案 1 :(得分:0)
在数据仓库标识列中经常使用-1或0作为占位符,因此Fact外键不为null。它加速了连接,你知道它是故意的。