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.