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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Tabellen, Ansichten und Indizes » Ansichten » Reguläre Ansichten

 

Deaktivieren oder Aktivieren einer regulären Ansicht (SQL)

Sie können festlegen, ob eine reguläre Ansicht für die Verwendung durch den Datenbankserver verfügbar ist, indem Sie sie aktivieren oder deaktivieren.

Voraussetzungen

Sie müssen Eigentümer sein oder eines der folgenden Privilegien haben:

  • ALTER ANY VIEW-Systemprivileg
  • ALTER ANY OBJECT-Systemprivileg

Zum Aktivieren einer regulären Ansicht benötigen Sie außerdem das SELECT-Privileg für die Basistabelle(n) oder das SELECT ANY TABLE-Systemprivileg.

Bevor Sie eine reguläre Ansicht aktivieren, müssen Sie deaktivierte Ansichten, die sie referenziert, wieder aktivieren.

Kontext und Bemerkungen

Wenn Sie eine Ansicht deaktivieren, werden automatisch andere Ansichten deaktiviert, die sie direkt oder indirekt referenzieren. Daher müssen Sie, wenn Sie eine Ansicht wieder aktivieren, auch alle anderen Ansichten wieder aktivieren, die von der ersten Ansicht abhängig waren, als diese deaktiviert wurde. Mit der sa_dependent_views-Systemprozedur können Sie eine Liste der abhängigen Ansichten ermitteln, bevor Sie eine Ansicht deaktivieren.

 Aufgabe
  1. Stellen Sie eine Verbindung mit der Datenbank her.

  2. Um eine reguläre Ansicht zu deaktivieren, führen Sie die Anweisung ALTER VIEW ... DISABLE aus.

  3. Um eine reguläre Ansicht zu aktivieren, führen Sie die Anweisung ALTER VIEW ... ENABLE aus.

Ergebnisse

Wenn Sie eine reguläre Ansicht deaktivieren, bewahrt der Datenbankserver die Definition der Ansicht in der Datenbank auf. Die Ansicht steht dann jedoch nicht mehr für die Verwendung mit einer Abfrage zur Verfügung.

Wenn eine Abfrage ausdrücklich eine deaktivierte Ansicht referenziert, schlägt die Abfrage fehl und es wird ein Fehler gemeldet.

Nächste Schritte

Daher müssen Sie, wenn Sie eine Ansicht wieder aktivieren, auch alle anderen Ansichten wieder aktivieren, die von der ersten Ansicht abhängig waren, bevor diese deaktiviert wurde. Mit der sa_dependent_views-Systemprozedur können Sie eine Liste der abhängigen Ansichten ermitteln, bevor Sie eine Ansicht deaktivieren.

Wenn Sie eine reguläre Ansicht aktivieren, wird sie vom Datenbankserver anhand der Definition, die für die Ansicht in der Datenbank gespeichert ist, neu kompiliert. Wenn die Kompilierung erfolgreich ist, wechselt der Ansichtsstatus auf GÜLTIG. Eine nicht erfolgreiche Neukompilation könnte darauf hinweisen, dass das Schema in einem oder mehreren der referenzierten Objekte geändert wurde. Falls dies so ist, müssen Sie die Ansichtsdefinition oder die referenzierten Objekte ändern, bis sie miteinander übereinstimmen, und dann die Ansicht aktivieren.

Wenn eine Ansicht deaktiviert wurde, muss sie ausdrücklich erneut aktiviert werden, damit der Datenbankserver sie wieder verwenden kann.

Beispiel

Das folgende Beispiel deaktiviert eine reguläre Ansicht namens ViewSalesOrders mit dem Eigentümer GROUPO.

ALTER VIEW GROUPO.ViewSalesOrders DISABLE;

Das folgende Beispiel reaktiviert eine normale Ansicht namens ViewSalesOrders mit dem Eigentümer GROUPO.

ALTER VIEW GROUPO.ViewSalesOrders ENABLE;

 Siehe auch