あなたが作ることができないいくつかのソース/ターゲット・データ型の変換があります。 TIMEのZONE WITH TIMESTAMPへのTIMESTAMPは、そのうちの一つである:
SQL>ALTER TABLE w_ts ALTER COLUMN ts SET DATA TYPE TIMESTAMP WITH TIME ZONE;
executing statement returns SQL_ERROR:
0A000:1:2377:ROLLBACK 2377: Cannot convert column "ts" from
"timestamp" to type "timestamptz"
回避策は次のようになります。
ALTER TABLE w_ts ADD COLUMN tsz TIMESTAMP WITH TIME ZONE DEFAULT ts;
は、これはあなたの新しいタイプの列を追加し、古い列の内容を即座にそれを埋めます。
今デフォルトの制約削除:
ALTER TABLE w_ts ALTER COLUMN tsz DROP DEFAULT;
をドロップされたデフォルトの制約から、まだ既存のリンクを取り除くために古代史マークを進める:
SELECT MAKE_AHM_NOW();
今、あなたは古いをドロップすることができます列:
ALTER TABLE w_ts DROP COLUMN ts;
新しい列の名前を元の列の名前に変更します。
ALTER TABLE w_ts RENAME COLUMN tsz TO ts;
かなりの数のステップが、それは動作しない遅すぎる....
幸運
マルコ
これが否決された理由を私は知らないのですか? - 私はできるだけ早く修正する必要があるverticaデータベースの技術的な問題を求めています。 –