Teilen über


Erstellen von Sichten über XML-Spalten

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Sie können eine Spalte vom Typ xml zum Erstellen von Sichten verwenden. Im folgenden Beispiel wird eine Sicht erstellt, in der mithilfe der value()-Methode des xml-Datentyps der Wert aus einer Spalte vom Typ xml abgerufen wird.

-- Create the table.
CREATE TABLE T (
    ProductID INT PRIMARY KEY,
    CatalogDescription XML);
GO
-- Insert sample data.
INSERT INTO T VALUES(1,'<ProductDescription ProductID="1" ProductName="SomeName" />');
GO
-- Create view (note the value() method used to retrieve ProductName
-- attribute value from the XML).
CREATE VIEW MyView AS
  SELECT ProductID,
         CatalogDescription.value('(/ProductDescription/@ProductName)[1]', 'varchar(40)') AS PName
  FROM T;
GO

Führen Sie die folgende Abfrage für die Sicht aus:

SELECT *
FROM   MyView;

Dies ist das Ergebnis:

ProductID   PName
----------- ------------
1           SomeName

Beachten Sie die folgenden Punkte in Bezug auf das Erstellen von Sichten mit dem xml -Datentyp:

  • Der XML-Datentyp kann in einer materialisierten Sicht erstellt werden. Die materialisierte Sicht kann nicht auf einer xml-Datentypmethode basieren. Er kann jedoch in eine XML-Schemaauflistung umgewandelt werden, die sich von der XML-Typspalte der Basistabelle unterscheidet.

  • Der xml-Datentyp kann nicht in verteilten partitionierten Sichten verwendet werden.

  • SQL-Prädikate, die für die Sicht ausgeführt werden, werden nicht in die XQuery der Sichtdefinition verschoben.

  • XML-Datentypmethoden in einer Sicht sind nicht aktualisierbar.