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 » Systemobjekte » Systemprozeduren » Alphabetische Liste der Systemprozeduren

 

sa_materialized_view_can_be_immediate-Systemprozedur

Gibt zurück, ob die angegebene materialisierte Ansicht als Sofortansicht definiert werden kann.

Syntax
sa_materialized_view_can_be_immediate( 
Ansichtsname 
, Eigentümername
)
Argumente
  • Ansichtsname   Verwenden Sie diesen CHAR(128)-Parameter, um den Namen der materialisierten Ansicht anzugeben. Wenn Ansichtsname NULL ist, wird der Fehler Tabelle...nicht gefunden zurückgegeben.

  • Eigentümername   Verwenden Sie diesen CHAR(128)-Parameter, um den Eigentümer der materialisierten Ansicht anzugeben. Wenn Eigentümername NULL ist, wird der Fehler Tabelle...nicht gefunden zurückgegeben.

Bemerkungen

Ob eine angegebene manuelle Ansicht in eine Sofortansicht geändert werden kann, unterliegt gewissen Einschränkungen. Verwenden Sie diese Systemprozedur, um festzulegen, ob diese Änderung zulässig ist. Eine Liste der zusätzlichen Einschränkungen für die Erstellung von Sofortansichten finden Sie unter Zusätzliche Einschränkungen für Sofortansichten.

Die sa_materialized_view_can_be_immediate-Systemprozedur gibt die folgenden Informationen für die angegebene materialisierte Ansicht zurück.

Spaltenname Datentyp Beschreibung
SQLStateVal CHAR(6) Der zurückgegebene SQLSTATE.
ErrorMessage LONG VARCHAR Die Fehlermeldung, die dem SQLSTATE entspricht.

Jede Zeile in der Ergebnismenge entspricht einem bestimmten, für eine Ansicht zurückgegebenen SQLSTATE. Daher gilt: Wenn die Definition der materialisierten Ansicht mehr als eine Einschränkung verletzt, enthalten die Ergebnisse mehrere Zeilen für die Ansicht.

Sie können die Ausgabe dieser Systemprozedur mit der Ausgabe der sa_materialized_view_info-Systemprozedur kombinieren, um Informationen über den Status einer Ansicht und ihre Eignung als Sofortansicht zu erhalten. Weitere Hinweise finden Sie im Beispielabschnitt unter sa_materialized_view_info-Systemprozedur.

Berechtigungen

DBA-Berechtigung oder Berechtigung zum Ausführen für dem DBO gehörende Prozeduren

Siehe auch
Nebenwirkungen

Alle Metadaten für die angegebene materialisierte Ansicht sowie alle Abhängigkeiten werden in den Servercache geladen.

Beispiel

Führen Sie die folgenden Anweisungen aus, um eine manuelle Ansicht namens view10 zu erstellen und aktualisieren Sie sie.

CREATE MATERIALIZED VIEW view10
   AS (SELECT C.ID, C.Surname, sum(P.UnitPrice) as revenue, C.CompanyName, SO.OrderDate
         FROM Customers C, SalesOrders SO, SalesOrderItems SOI, Products P
         WHERE C.ID = SO.CustomerID
         AND SO.ID = SOI.ID
         AND P.ID = SOI.ProductID
         GROUP BY C.ID, C.Surname, C.CompanyName, SO.OrderDate);
REFRESH MATERIALIZED VIEW view10;

Benutzen Sie die folgende Abfrage, um die Ursache zu ermitteln, warum view10 nicht in eine Sofortansicht verwandelt werden kann:

SELECT SQLStateVal AS "SQLstate", ErrorMessage AS Description 
   FROM sa_materialized_view_can_be_immediate( 'view10', 'DBA' ) 
   ORDER BY SQLSTATE;
SQLstate Beschreibung
42WC3 Die materialisierte Ansicht view10 kann nicht in eine Sofortansicht verwandelt werden, weil sie bereits initialisiert wurde.
42WCA Die materialisierte Ansicht view10 kann nicht in eine Sofortansicht verwandelt werden, weil sie keinen eindeutigen Index oder nicht-nullfähige Spalten aufweist.
42WC6 Die materialisierte Ansicht kann nicht in eine Sofortansicht verwandelt werden, weil COUNT(*) Teil der SELECT-Liste sein muss.
42WC7 Die materialisierte Ansicht kann nicht in eine Sofortansicht verwandelt werden, weil sie keinen eindeutigen Index oder nicht-aggregierbare, nicht-nullfähige Spalten aufweist.