0

我正在将数据库从 Sql Server 2008 迁移到 Teradata,我遇到了一个问题:

在Sql Server中一个表列的ddl定义如下:

[rowguid] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT [DF_Address_rowguid] DEFAULT (NEWID())

如果用户不提供任何输入,此列使用 newid() 函数生成并在列 [rowguid] 中插入随机 varchar 值。

Teradata 中没有类似的函数来生成这个值。

在为 Teradata 创建类似的表 ddls 时,可以使用什么来代替 Sql Server 的 NEWID() 函数?

4

1 回答 1

1

Teradata 中没有 GUID/UUID 的本机等效项。Teradata 确实提供了一个 IDENTITY 列来提供一个自动递增的列。IDENTITY 列并非没有自己的细微差别,我鼓励您阅读第 5 章 -在SQL 数据定义语言中创建表- 详细主题,其中有一节解释了身份列。

但是,作为从 SQL Server 迁移到 Teradata 的一部分,您需要了解数据如何通过表的主索引在 Teradata 中分布的概念。这可能需要您查看现有数据模型并重新设计它在 Teradata 中的物理实施方式。

于 2013-07-25T14:46:47.763 回答