为什么Teradata Identity列具有负值?

时间:2014-10-16 16:46:39

标签: sql-server-2008 tsql teradata identity-column

我是Teradata的新手(1周),我的主要技能是SQL Server。 我将数据从其中一个TeraData表拉到SQL Server表,TD表有一个带负值的Identity列。我查看了该表的DDL,它没有提到一个开头并以值结束。

那么,TeraData在那里有负值?此外,如果我将其转移到SQL Server,我应该创建一个新的标识列,还是应该维护我从TeraData获得的标识值?

2 个答案:

答案 0 :(得分:4)

如果列定义为GENERATED BY DEFAULT,则可能已直接插入负值。

如果GENERATED ALWAYS没有NO CYCLEMAXVALUE已到达,则会在MINVALUE处重新开始,默认情况下,最小值和最大值均基于数据类型的可能范围。

在Teradata中很难使用IDENTITY列,根据您的需要决定是否需要保留它们。

答案 1 :(得分:0)

在数据仓库标识列中经常使用-1或0作为占位符,因此Fact外键不为null。它加速了连接,你知道它是故意的。