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 materialisierten Ansichten arbeiten

 

Eine manuelle Ansicht in eine Sofortansicht ändern

Wenn Sie eine materialisierte Ansicht erstellen, ist ihr Aktualisierungstyp "Manuell". Sie können ihn allerdings auf "Sofort" ändern. Um den Typ von "Manuell" auf "Sofort" zu ändern, muss die Ansicht in einem nichtinitialisierten Zustand (ohne Daten) sein. Wenn die Ansicht eben erstellt und noch nicht aktualisiert wurde, ist sie nichtinitialisiert. Wenn sie Daten enthält, müssen Sie diese kürzen. Die Ansicht muss auch einen eindeutigen Index haben und den Einschränkungen entsprechen, die für eine Sofortansicht gelten. Weitere Hinweise finden Sie unter Zusätzliche Einschränkungen für Sofortansichten.

Eine Sofortansicht kann jederzeit in eine manuelle umgewandelt werden, indem Sie ihren Aktualisierungstyp ändern.

Die folgenden Verfahren beschreiben, wie Sie eine manuelle Ansicht in eine Sofortansicht ändern. Bevor Sie eines dieser Verfahren durchführen, stellen Sie sicher, dass die manuelle Ansicht einen eindeutigen Index hat und nicht-initialisiert ist. Anschließend können Sie wahlweise überprüfen, ob sie für den Aktualisierungstyp "Sofort" in Frage kommt, indem Sie die Systemprozedur sa_materialized_view_can_be_immediate verwenden. Weitere Hinweise finden Sie unter sa_materialized_view_can_be_immediate-Systemprozedur.

♦  So ändern Sie eine manuelle Ansicht in eine Sofortansicht (Sybase Central)
  1. Verbinden Sie sich mit der Datenbank als Benutzer mit DBA-Berechtigung oder als Eigentümer der Ansicht und aller Tabellen, die sie referenziert.

  2. Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.

  3. Rechtsklicken Sie auf die materialisierte Ansicht und wählen Sie Eigenschaften.

  4. Im Feld Aktualisierungstyp wählen Sie Sofort.

  5. Klicken Sie auf OK.

♦  So ändern Sie eine manuelle Ansicht in eine Sofortansicht (SQL)
  1. Verbinden Sie sich mit der Datenbank als Benutzer mit DBA-Berechtigung oder als Eigentümer der Ansicht und aller Tabellen, die sie referenziert.

  2. Ändern Sie den Aktualisierungstyp auf "Sofort", indem Sie eine Anweisung ALTER MATERIALIZED VIEW ... IMMEDIATE REFRESH ausführen.

Die folgenden Verfahren beschreiben, wie Sie eine Sofortansicht in eine manuelle Ansicht ändern.

♦  So ändern Sie eine Sofortansicht in eine manuelle Ansicht (Sybase Central)
  1. Verbinden Sie sich mit der Datenbank als Eigentümer der Ansicht oder als Benutzer mit DBA-Berechtigungen.

  2. Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.

  3. Rechtsklicken Sie auf eine materialisierte Ansicht und wählen Sie Eigenschaften.

  4. Im Feld Aktualisierungstyp wählen Sie Manuell.

  5. Klicken Sie auf OK.

♦  So ändern Sie eine Sofortansicht in eine manuelle Ansicht (SQL)
  1. Verbinden Sie sich mit der Datenbank als Eigentümer der Ansicht oder als Benutzer mit DBA-Berechtigungen.

  2. Ändern Sie den Aktualisierungstyp auf "Manuell", indem Sie eine Anweisung ALTER MATERIALIZED VIEW ... MANUAL REFRESH ausführen.

Beispiel

Das folgende Beispiel erstellt eine materialisierte Ansicht und initialisiert sie. Ein eindeutiger Index wird dann hinzugefügt, da Sofortansichten einen eindeutigen Index haben. Da die Ansicht keine Daten haben darf, wenn der Aktualisierungstyp geändert wird, muss sie gekürzt werden. Danach wird der Aktualisierungstyp geändert.

CREATE MATERIALIZED VIEW EmployeeConfid44 AS
   SELECT EmployeeID, Employees.DepartmentID, 
          SocialSecurityNumber, Salary, ManagerID, 
          Departments.DepartmentName, Departments.DepartmentHeadID
     FROM Employees, Departments
     WHERE Employees.DepartmentID=Departments.DepartmentID;
REFRESH MATERIALIZED VIEW EmployeeConfid44;
CREATE UNIQUE INDEX EmployeeIDIdx 
   ON EmployeeConfid44 ( EmployeeID );
TRUNCATE MATERIALIZED VIEW EmployeeConfid44;
ALTER MATERIALIZED VIEW EmployeeConfid44 
   IMMEDIATE REFRESH;

Die nachstehende Anweisung ändert den Aktualisierungstyp zurück auf manuell:

ALTER MATERIALIZED VIEW EmployeeConfid44 
   MANUAL REFRESH;
Achtung

Wenn Sie dieses Beispiel durchgeführt haben, löschen Sie die von Ihnen erstellte materialisierte Ansicht. Andernfalls können Sie keine Schemaänderungen an ihren Basistabellen Employees und Departments durchführen, wenn Sie andere Beispiele ausprobieren. Sie können das Schema einer Tabelle nicht ändern, die aktivierte, materialisierte Ansichten haben. Weitere Hinweise finden Sie unter Materialisierte Ansichten löschen.

Siehe auch