2012-05-15 56 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的遷移路徑。