【问题标题】:Why does Teradata Identity column have negative values?为什么 Teradata Identity 列有负值?
【发布时间】:2014-12-12 03:12:45
【问题描述】:

我对 Teradata 非常陌生(1 周),我的主要技能是 SQL Server。 我正在将数据从 TeraData 表之一提取到 SQL Server 表,并且 TD 表有一个带有负值的 Identity 列。我查看了该表的 DDL,它没有提到以值开头和以值结尾。

那么,TeraData 如何在其中包含负值?此外,如果我将其拉到 SQL Server,我应该创建一个新的身份列还是应该只维护从 TeraData 获得的身份值?

【问题讨论】:

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


    【解决方案1】:

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

    如果是GENERATED ALWAYS 没有NO CYCLE 并且已达到MAXVALUE,它将从MINVALUE 重新开始,默认情况下,最小值和最大值基于数据类型的可能范围。

    Teradata 中几乎不使用 IDENTITY 列,根据需要决定是否需要保留它们。

    【讨论】:

    • 我想如果是这样的话,我就不会为此烦恼了。我相信另一个开发人员在将数据加载到表时插入了这些值。这是学习 TeraData 时需要了解的好信息。非常感谢!
    • 您也可以在info.teradata.com/htmlpubs/DB_TTU_14_00/index.html#page/…查看 Teradata 的页面
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多