Heim > Datenbank > MySQL-Tutorial > PostgreSQL-Ansichten: Wie kann ich in einer Ansicht verwendete Spalten ändern, ohne sie zu löschen und neu zu erstellen?

PostgreSQL-Ansichten: Wie kann ich in einer Ansicht verwendete Spalten ändern, ohne sie zu löschen und neu zu erstellen?

Patricia Arquette
Freigeben: 2025-01-03 18:11:39
Original
451 Leute haben es durchsucht

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

PostgreSQL: In Ansichten verwendete Spalten ändern

Wenn Sie versuchen, eine in einer PostgreSQL-Ansicht verwendete Spalte zu ändern, ist es normalerweise erforderlich, die Ansicht zu löschen und die Spaltenänderung vorzunehmen , und erstellen Sie die Ansicht neu. Dieser Vorgang kann mühsam und zeitaufwändig sein. Gibt es eine Möglichkeit, diese Belastung zu verringern?

Lösung

Dauerhafte Lösung:

Vermeiden Sie die Verwendung von zeichenvariablen (n) Datentypen mit einer definierten Länge . Verwenden Sie stattdessen den Datentyp text oder varchar ohne Längenangabe. Erzwingen Sie bei Bedarf eine maximale Länge mithilfe einer CHECK-Einschränkung. Durch diesen Ansatz entfällt die Notwendigkeit, die Ansicht zu ändern, wenn Spaltentypen geändert werden.

CREATE TABLE monkey (name text NOT NULL);

ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name) < 101);
Nach dem Login kopieren

Detaillierte Erklärung

PostgreSQL-Ansichten sind nicht einfach Aliase für Unterabfragen, sondern vielmehr spezialisierte Tabellen mit ihrer eigenen Regelstruktur. Daher ist es beim Ändern zugrunde liegender Tabellen häufig erforderlich, auch abhängige Ansichten zu ändern. Die ALTER VIEW-Anweisung kann Ansichtseigenschaften ändern, nicht jedoch die zugrunde liegende Abfrage.

Um die Abfrage zu ändern, verwenden Sie CREATE OR REPLACE VIEW. Dieser Vorgang ist jedoch nicht möglich, wenn resultierende Spaltendatentypen geändert werden. In solchen Fällen muss die alte Ansicht gelöscht und eine neue erstellt werden. Diese Aktion löscht keine Daten, entfernt jedoch möglicherweise alle zusätzlichen Attribute, die mit der Ansicht verknüpft sind.

Das obige ist der detaillierte Inhalt vonPostgreSQL-Ansichten: Wie kann ich in einer Ansicht verwendete Spalten ändern, ohne sie zu löschen und neu zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage