3

所以我被困在这个 Teradata 问题上,我正在向社区寻求建议,因为我是 TD 平台的新手。我目前正在使用 Teradata 数据仓库,并且有一个有趣的任务要解决。目前,我们将信息存储在实时生产数据库中,但希望在使用 FastExport 导出文件之前将表暂存到另一个数据库中。基本上,我们希望将表移动到数据库中以获取快速快照。

我一直在探索不同的解决方案,但不确定如何进行。我需要能够自动从 Teradata 中的一个数据库到另一个数据库的创建表过程。棘手的部分是我想使用 WHERE 子句从源表中创建许多表。例如,我有一个事务表,并且想逐月对某个日期范围内的事务表进行快照。这意味着原始表 Transaction 将被拆分为许多表,例如 Transaction_May2001、Transaction_June2001、Transaction_July2001 等等。

谢谢

4

1 回答 1

2

这是假设您指的是 Teradata 的相同物理安装的两个数据库。

您可以使用该CREATE TABLE AS构造来完成此操作:

CREATE TABLE {MyDB}.Transaction_May2001
AS (
SELECT *
FROM Transaction
WHERE Transaction_Date BETWEEN DATE '2001-05-01' AND '2001-05-31'
)
{UNIQUE} PRIMARY INDEX ({Same PI definition as Transaction Table}) 
WITH DATA AND STATS;

如果您忽略在 CREATE TABLE AS 中指定显式 PI,则 Teradata 将采用 SELECT 子句的第一列并将其用作新表的 PI。

否则,您将寻求使用 ryanbwork 在对您的问题的评论中建议的 Teradata 实用程序。

于 2013-02-13T00:30:14.110 回答