3

Teradata 内で、ALTER TABLE コマンドを実行して既存の列のデータ型を VARCHAR(10) から CHAR(10) に変更すると、指定された属性を変更できないことを示す 3558 エラーが表示されます。目的の目的を達成するためにこれをコーディングする別の方法はありますか、それともデータ型を変更するために列を削除して再作成する必要がありますか?

4

1 に答える 1

4

内部ストレージが変更されたときにデータ型を変更することはできません。これは VARCHAR <-> CHAR の場合です。

ADD CHAR -> UPDATE CHAR from VARCHAR (巨大な一時ジャーナルが必要) -> DROP VARCHARの代わりに、新しいテーブルを作成することをお勧めします -> INSERT/SELECT (TJ なし) -> DROP/RENAME

編集: Rob Paller が示唆したように、INSERT SELECT の代わりに MERGE INTO を使用すると、ソース テーブルのスプールが回避されます。

于 2013-08-14T21:45:37.927 に答える