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?
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);
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!