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-Benutzerhandbuch » Datenbanken erstellen » Mit Datenbankobjekten arbeiten » Mit regulären Ansichten arbeiten

 

Reguläre Ansichten ändern

Sie können eine reguläre Ansicht sowohl mit Sybase Central als auch mit Interactive SQL ändern.

In Sybase Central können Sie die Definition von Ansichten, Prozeduren und Funktionen auf dem Register SQL des Objekts im rechten Fensterausschnitt bearbeiten. Sie können eine Ansicht in einem separaten Fenster bearbeiten, indem Sie die Ansicht auswählen und dann den Befehl Datei » In neuem Fenster bearbeiten benutzen. In Interactive SQL können Sie die Anweisung ALTER VIEW benutzen, um eine Ansicht zu ändern. Die Anweisung ALTER VIEW ersetzt eine Ansichtsdefinition durch eine neue Definition, behält jedoch die Berechtigungen für die Ansicht bei.

Sie können eine vorhandene Ansicht nicht umbenennen. Stattdessen müssen Sie eine neue Ansicht mit einem neuen Namen erstellen, die vorherige Definition für die neue Ansicht kopieren und dann die alte Ansicht löschen.

Wenn Sie mit ALTER VIEW eine materialisierte Ansicht eines anderen Eigentümers ändern, müssen Sie den Namen qualifizieren, indem Sie den Eigentümer eingeben (z.B. GROUPO.EmployeeConfidential). 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.

Ansichtsänderungen und Ansichtenabhängigkeiten

Wenn Sie die Definition einer regulären Ansicht ändern wollen und andere Ansichten von der Ansicht abhängig sind, müssen Sie möglicherweise zusätzliche Schritte durchführen, nachdem die Ansichtsänderung abgeschlossen ist. Beispiel: Wenn Sie eine Ansicht geändert haben, wird sie vom Datenbankserver automatisch neu kompiliert und für die Verwendung durch den Datenbankserver aktiviert. Wenn es abhängige reguläre Ansichten gibt, werden auch diese vom Datenbankserver deaktiviert und dann neu aktiviert. Falls sie nicht aktiviert werden können, erhalten sie den Status UNGÜLTIG. Sie müssen dann die Definition der regulären Ansicht an die Definitionen der abhängigen regulären Ansichten anpassen oder umgekehrt.

Um zu ermitteln, ob eine reguläre Ansicht abhängige Ansichten hat, verwenden Sie die Systemprozedur sa_dependent_views. Weitere Hinweise finden Sie unter sa_dependent_views-Systemprozedur.

Hinweise darüber, wie sich Schemaänderungen an untergeordneten Objekten auf Ansichten auswirken, finden Sie unter Ansichtenabhängigkeiten.

♦  So ändern Sie eine reguläre Ansicht (Sybase Central)
  1. Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der regulären Ansicht mit der Datenbank.

  2. Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.

  3. Wählen Sie die Ansicht aus.

  4. Klicken Sie im rechten Fensterausschnitt auf das Register SQL und bearbeiten Sie die Definition der Ansicht.

    Tipp

    Zum Bearbeiten mehrerer Ansichten können Sie für jede Ansicht ein separates Fenster öffnen, statt jede Ansicht auf dem Register SQL im rechten Fensterausschnitt zu bearbeiten. Sie können ein separates Fenster öffnen, indem Sie eine Ansicht auswählen und im Einblendmenü den Befehl Datei » In neuem Fenster bearbeiten wählen.

  5. Wählen Sie Datei » Speichern.

♦  So ändern Sie eine reguläre Ansicht (SQL)
  1. Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der regulären Ansicht mit der Datenbank.

  2. Führen Sie die Anweisung ALTER VIEW aus.

Beispiele

Dieses Beispiel zeigt, dass Sie, wenn Sie eine reguläre Ansicht ändern, im Grunde die Definition der Ansicht ersetzen. In diesem Fall wird die Ansichtsdefinition so geändert, dass die Spaltennamen aussagekräftiger werden.

CREATE VIEW DepartmentSize ( col1, col2 ) AS
   SELECT DepartmentID, COUNT( * )
   FROM Employees GROUP BY DepartmentID;
ALTER VIEW DepartmentSize ( DepartmentNumber, NumberOfEmployees ) AS
   SELECT DepartmentID, COUNT( * )
   FROM Employees GROUP BY DepartmentID;

Im nächsten Beispiel wird gezeigt, dass Sie eine reguläre Ansicht nicht neu zu definieren brauchen, wenn Sie lediglich ein Attribut der Ansicht ändern. In diesem Fall wird die Ansicht so eingerichtet, dass ihre Definition verborgen ist.

ALTER VIEW DepartmentSize SET HIDDEN;

Weitere Hinweise finden Sie unter ALTER VIEW-Anweisung.