2012-05-15 57 views
1

我正在开发Oracle到Teradata的迁移项目。如何将Oracle视图迁移到Teradata

表已使用数据作业进行迁移。

如何将Oracle视图迁移到Teradata?

直接复制的脚本不能正常工作,由于这两个数据库

请帮助的SQL语句区别?

+1

Oracle视图中哪些部分视图是您遇到识别Teradata等效物的问题?你能分享视图定义的任何部分吗?许多Oracle原生的非ANSI标准的函数需要Teradata中的UDF,其中一些可以从http://downloads.teradata.com/download/extensibility/teradata-udfs-for-popular-oracle-functions中下载。 –

+0

DECODE (t满意,NULL,'未评估',t满意)满意,...................错误是说满意不是数据类型:( – user1379055

回答

2

DECODE() Oracle功能作为Teradata Developer Exchange Downloads部分的Oracle UDF库的一部分提供。

COALESCE(t.satisfaction, 'Not Evaluated') 

应该指出的是,COALESCE()功能的数据类型必须隐式兼容,否则您将收到:否则,你在其中ANSI COALESCE()函数的行为相同的方式使用DECODE函数在你的榜样一个错误。因此,满意度至少需要CHAR(13)VARCHAR(13)才能评估COALESCE()。如果不是,则可以明确地投射操作数。

COALESCE(CAST(t.satisfaction AS VARCHAR(13)), 'Not Evaluated') 

如果您的DECODE()使用包括比什么是你的榜样,我建议执行UDF或以更高的标准评估CASE语句替换它更多的评估。这就是说,通过Teradata 14(或14.1),您会发现许多Teradata缺少的Oracle功能将作为标准功能提供,以帮助简化从Oracle到Teradata的迁移路径。