Rumah >pangkalan data >tutorial mysql >Pandangan PostgreSQL: Bagaimanakah Saya Boleh Mengubah Suai Lajur yang Digunakan dalam Paparan Tanpa Menggugurkan dan Menciptanya Semula?

Pandangan PostgreSQL: Bagaimanakah Saya Boleh Mengubah Suai Lajur yang Digunakan dalam Paparan Tanpa Menggugurkan dan Menciptanya Semula?

Patricia Arquette
Patricia Arquetteasal
2025-01-03 18:11:39553semak imbas

PostgreSQL Views: How Can I Modify Columns Used in a View Without Dropping and Recreating It?

PostgreSQL: Mengubah Suai Lajur yang Digunakan dalam Paparan

Apabila cuba mengubah suai lajur yang digunakan dalam paparan PostgreSQL, lazimnya perlu menggugurkan pandangan, membuat perubahan lajur , dan cipta semula pandangan. Proses ini boleh membosankan dan memakan masa. Adakah terdapat cara untuk meringankan beban ini?

Penyelesaian

Resolusi Kekal:

Elakkan menggunakan jenis data yang berbeza(n) aksara dengan panjang yang ditentukan . Sebaliknya, gunakan jenis data teks atau varchar tanpa penentu panjang. Jika perlu, kuatkuasakan panjang maksimum menggunakan kekangan CHECK. Pendekatan ini menghapuskan keperluan untuk mengubah suai paparan apabila mengubah jenis lajur.

CREATE TABLE monkey (name text NOT NULL);

ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name) < 101);

Penjelasan Terperinci

Pandangan PostgreSQL bukan sekadar alias kepada subkueri, sebaliknya jadual khusus dengan struktur peraturannya sendiri. Akibatnya, apabila mengubah suai jadual asas, selalunya perlu untuk mengubah suai pandangan bergantung juga. Pernyataan ALTER VIEW boleh menukar sifat paparan, tetapi bukan pertanyaan asas.

Untuk menukar pertanyaan, gunakan CREATE OR REPLACE VIEW. Walau bagaimanapun, operasi ini tidak boleh dilakukan apabila mengubah suai jenis data lajur yang terhasil. Dalam kes sedemikian, paparan lama mesti digugurkan dan yang baharu dibuat. Tindakan ini tidak memadamkan sebarang data tetapi boleh mengalih keluar sebarang atribut tambahan yang dikaitkan dengan paparan.

Atas ialah kandungan terperinci Pandangan PostgreSQL: Bagaimanakah Saya Boleh Mengubah Suai Lajur yang Digunakan dalam Paparan Tanpa Menggugurkan dan Menciptanya Semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn