1

Oracle から Teradata への移行プロジェクトに取り組んでいます。

テーブルは、datastage ジョブを使用して移行されています。

Oracle ビューを Teradata に移行するにはどうすればよいですか?

両方のデータベースの SQL ステートメントが異なるため、スクリプトの直接コピーが機能しない

助けてください?

4

1 に答える 1

2

DECODE()Oracle 関数は、Teradata Developer Exchangeダウンロードセクションの Oracle UDF ライブラリの一部として入手できます。COALESCE()それ以外の場合は、ANSI関数が動作するのと同じ方法で、例で DECODE 関数を使用しています。

COALESCE(t.satisfaction, 'Not Evaluated')

COALESCE()関数のデータ型は暗黙的に互換性がある必要があり、そうでない場合はエラーが発生することに注意してください。したがって、 t.satisfaction は、が評価されるためには、少なくともCHAR(13)またはである必要があります。そうでない場合は、オペランドを明示的にキャストできます。VARCHAR(13)COALESCE()

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

の使用に例よりも多くの評価が含まれている場合は、UDF を実装するか、より標準的な評価済みステートメントDECODE()に置き換えることをお勧めします。CASEそうは言っても、Teradata 14 (または 14.1) では、Teradata にはない Oracle 機能の多くが標準機能として利用できるようになり、Oracle から Teradata への移行パスが容易になります。

于 2012-05-16T13:33:09.350 に答える