0
Netezzaバージョン7.2では、NOT NULLをNULLに変更したり、新しいテーブルを作成せずに元に戻したりすることはできません。非常に大きなテーブルの列制約を変更するための非常に残酷な方法と思われます。Netezzaは列の制約を変更します
Netezzaバージョン7.2では、NOT NULLをNULLに変更したり、新しいテーブルを作成せずに元に戻したりすることはできません。非常に大きなテーブルの列制約を変更するための非常に残酷な方法と思われます。Netezzaは列の制約を変更します
は、あなたがこのような何かを行うことができますので、あなたは、列を追加し、名前を変更することができますよう技術的には、それは、唯一の方法ではありません。
TESTDB.ADMIN(ADMIN)=> create table test1 (col1 integer not null);
CREATE TABLE
TESTDB.ADMIN(ADMIN)=> alter table test1 add column (col2 integer);
ALTER TABLE
TESTDB.ADMIN(ADMIN)=> update test1 set col2=col1;
UPDATE 0
TESTDB.ADMIN(ADMIN)=> alter table test1 drop column col1 cascade;
ALTER TABLE
TESTDB.ADMIN(ADMIN)=> alter table test1 rename column col2 to col1;
ALTER TABLE
TESTDB.ADMIN(ADMIN)=> groom table test1 versions;
NOTICE: Groom will not purge records deleted by transactions that started after 2016-09-29 12:38:13.
NOTICE: If this process is interrupted please either repeat GROOM VERSIONS or issue 'GENERATE STATISTICS ON "TEST1"'
NOTICE: Groom processed 0 pages; purged 0 records; scan size unchanged; table size unchanged.
GROOM VERSIONS
しかし、それは私の観点から任意の少ない「残酷」ではありません/ O.日々のNetezzaの生活には、しばしば大きなテーブルのCTASが必要です。そしてそれを使って、配布列を変更していた場合と同じように、これを単純に解決できます。