ホームページ >データベース >mysql チュートリアル >PostgreSQL ビューの列を削除したり再作成したりせずに変更する方法
質問:
ビュー内の列の変更に対する PostgreSQL の厳密な制御を回避するにはどうすればよいですか?毎回ビューを削除して再作成することなく列を変更したいと考えています。
解決策:
これを実現するには 2 つのアプローチがあります:
問題を完全に解決するには、データ型を指定せずに text または varchar/character を使用することを検討してください。長さ。これにより、依存ビューに影響を与えることなくシームレスな変更が可能になります。
または、CHECK 制約を実装して最大長を強制します。
ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name) < 101);
この制約は、ビューやトリガーに影響を与えることなく変更または削除できます。不必要なデータの書き換え。
PostgreSQL ビューは無効です。単にサブクエリのエイリアスです。これらは特殊なルールを備えたテーブルとして実装されており、ALTER TABLE を使用して補助属性を柔軟に変更できます。ただし、基になるデータ型を変更するには、ビューを削除して再作成する必要があります。これによりデータは保持されますが、追加された属性が削除される可能性があります。
ビュー内の基礎となるクエリを変更するには、CREATE OR REPLACE VIEW を使用します。ただし、データ型の変更の場合はこれができません。したがって、このような変更に対応するには、ビューを削除して再作成する必要があります。
以上がPostgreSQL ビューの列を削除したり再作成したりせずに変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。