können Sie gruppieren sie alle in der gleichen Alter Aussage:
alter table tbl alter col1 drop not null,
alter col2 drop not null,
…
Sie können auch die Liste der relevanten Spalten aus dem Katalog abrufen, wenn Sie einen do block fühlen sich wie schreiben die benötigt erzeugen sql. Zum Beispiel so etwas wie:
select a.attname
from pg_catalog.pg_attribute a
where attrelid = 'tbl'::regclass
and a.attnum > 0
and not a.attisdropped
and a.attnotnull;
(. Beachten Sie, dass dies die Primärschlüssel in verwandten Bereichen schließen, so dass Sie diejenigen heraus filtern, werden wollen)
Wenn Sie dies tun, nicht Vergessen Sie nicht, quote_ident()
für den Fall zu verwenden, dass Sie sich mit möglicherweise seltsamen Zeichen in Spaltennamen beschäftigen müssen.
Versuchen Sie, diese Links zu sehen, die Ihnen helfen können, einen Weg zu finden, dies zu implementieren. http://stackoverflow.com/questions/3370159/how-to-remove-not-null-constraint-in-sql-server-using-query http://stackoverflow.com/questions/2540615/how-can-i -drop-a-not-null-constraint-in-oracle-wenn-ich-kenne-nicht-den-Namen-von-t –