Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (A-D)

 

ALTER VIEW-Anweisung

Mit dieser Anweisung können Sie eine Ansichtsdefinition durch eine geänderte Version ersetzen.

Syntax 1
ALTER VIEW
[ Eigentümer.]Ansichtsname [ ( Spaltenname, ... ) ] AS SELECT-Anweisung
[ WITH CHECK OPTION ]
Syntax 2
ALTER VIEW
[ Eigentümer.]Ansichtsname { SET HIDDEN | RECOMPILE | DISABLE | ENABLE }
Parameter
  • AS-Klausel   Der Zweck und die Syntax dieser Klausel sind mit denen einer CREATE VIEW-Anweisung identisch Weitere Hinweise finden Sie unter CREATE VIEW-Anweisung.

  • WITH CHECK OPTION-Klausel   Der Zweck und die Syntax dieser Klausel sind mit denen einer CREATE VIEW-Anweisung identisch Weitere Hinweise finden Sie unter CREATE VIEW-Anweisung.

  • SET HIDDEN-Klausel   Verwenden Sie die SET HIDDEN-Klausel, um die Definition der Ansicht zu verschleiern und die Ansicht zu verbergen, z.B. in Sybase Central. Explizite Referenzen zur Ansicht funktionieren allerdings weiterhin.

    Hinweis

    Der SET HIDDEN-Vorgang ist irreversibel.

  • RECOMPILE-Klausel   Verwenden Sie die RECOMPILE-Klausel, um Spaltendefinitionen für die Ansicht neu zu erstellen. Diese Klausel hat dieselbe Funktion wie die ENABLE-Klausel, nur dass Sie erstere auf einer Ansicht verwenden können, die nicht deaktiviert ist. Wenn eine Ansicht neu kompiliert wird, stellt der Datenbankserver die Spaltenberechtigungen auf der Grundlage der Spaltennamen wieder her, die in der neuen Ansichtsdefinition genannt sind. Die vorhandenen Berechtigung gehen verloren, wenn eine Spalte nach der Neukompilierung nicht mehr existiert.

  • DISABLE-Klausel   Verwenden Sie die DISABLE-Klausel, um die Verwendung der Ansicht durch den Datenbankserver zu deaktivieren.

  • ENABLE-Klausel   Verwenden Sie die ENABLE-Klausel, um eine deaktivierte Ansicht zu aktivieren. Ein Aktivieren der Ansicht bewirkt, dass der Datenbankserver die Spaltendefinitionen für die Ansicht neu erstellt. Bevor Sie eine Ansicht aktivieren, müssen Sie alle Ansichten aktivieren, von denen diese abhängt.

Bemerkungen

Wenn Sie eine Ansicht eines anderen Eigentümers ändern, müssen Sie den Namen qualifizieren, indem Sie den Eigentümer eingeben (z.B. GROUPO.ViewSalesOrders). Wenn Sie den Namen nicht qualifizieren, sucht der Datenbankserver nach einer Ihnen gehörenden Ansicht mit diesem Namen und ändert sie. Wenn eine solche nicht vorhanden ist, wird ein Fehler zurückgegeben.

Wenn Sie eine Ansicht ändern, werden bestehende Berechtigungen für die Ansicht beibehalten und müssen nicht neu zugewiesen werden. Anstatt die ALTER VIEW-Anweisung zu verwenden, können Sie die Ansicht auch löschen und neu erstellen, indem Sie die DROP VIEW- bzw. die CREATE VIEW-Anweisung verwenden. Wenn Sie dies tun, müssen allerdings die Berechtigungen für die Ansicht neu zugeordnet werden.

Nachdem die Ansichtsänderung mit Syntax 1 abgeschlossen ist, rekompiliert der Datenbankserver die Ansicht. Wenn es abhängige Ansichten gibt, versucht der Datenbankserver, sie je nach Typ der durchgeführten Änderung ebenfalls zu kompilieren. Wenn Sie eine Änderung durchgeführt haben, die sich auf eine abhängige Ansicht auswirkt, müssen Sie möglicherweise auch die Definition für die abhängige Ansicht ändern. Weitere Hinweise zu Ansichtsänderungen und ihren Auswirkungen auf Ansichtsabhängigkeiten finden Sie unter Ansichtenabhängigkeiten.

Achtung

Wenn die SELECT-Anweisung, die die Ansicht definiert, ein Sternchen (*) enthält, kann sich die Anzahl der Spalten in der Ansicht ändern, wenn Spalten in den Basistabellen hinzugefügt oder gelöscht wurden. Die Namen und Datentypen der Ansichtsspalten können sich ebenfalls ändern.

Syntax 1   Diese Syntax wird verwendet, um die Struktur der Ansicht zu ändern. Anders als bei Tabellenänderungen, wo sich die Änderungen auf einzelne Spalten beschränken können, erfordert das Ändern der Struktur einer Ansicht die Ersetzung der gesamten Ansichtsdefinition durch eine neue Definition, ähnlich wie beim Erstellen der Ansicht. Eine Beschreibung der Parameter, die zur Definition der Struktur einer Ansicht verwendet werden, finden Sie unter CREATE VIEW-Anweisung.

Syntax 2   Diese Syntax wird verwendet, um die Attribute für die Ansicht zu ändern, die z.B. festlegen, ob die Ansichtsdefinition verborgen ist.

Wenn Sie SET HIDDEN verwenden, kann die Ansicht entladen und in andere Datenbanken geladen werden. Wenn SET HIDDEN verwendet wird, ist die Definition der Ansicht bei der Fehlerbehandlung mit dem Debugger nicht zu sehen, und sie wird auch nicht in den Prozedurprofilen angezeigt. Wenn Sie die Definition einer verborgenen Ansicht ändern wollen, müssen Sie die Ansicht löschen und mit der CREATE VIEW-Anweisung erneut erstellen.

Nachdem Sie die DISABLE-Klausel verwendet haben, steht die Ansicht dem Datenbankserver zur Beantwortung von Abfragen nicht mehr zur Verfügung. Das Deaktivieren einer Ansicht ähnelt ihrem Löschen, mit dem Unterschied, dass die Ansichtsdefinition in der Datenbank bleibt. Das Deaktivieren einer Ansicht deaktiviert auch etwaige abhängige Ansichten. Daher erfordert die DISABLE-Klausel einen exklusiven Zugriff nicht nur auf die Ansicht, die deaktiviert wird, sondern auch auf alle abhängigen Ansichten, da diese ja auch deaktiviert werden.

Berechtigungen

Sie müssen Eigentümer einer Ansicht sein oder DBA-Berechtigung haben.

Nebenwirkungen

Automatisches Festschreiben (Autocommit).

Alle Prozeduren und Trigger werden vom Speicher entladen, sodass jede Prozedur oder Trigger, der die Ansicht referenziert, der neuen Ansichtsdefinition entspricht. Das Entladen und Laden von Prozeduren und Triggern kann sich auf die Performance auswirken, wenn Sie Ansichten häufig ändern.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers