Creare viste su colonne XML

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Le colonne di tipo xml possono essere utilizzate per la creazione di viste. Nell'esempio seguente viene creata una vista nella quale il valore di una colonna di tipo xml viene recuperato utilizzando il metodo value() del tipo di dati xml.

-- 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

Eseguire la query seguente sulla vista:

SELECT *
FROM   MyView;

Risultato:

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

Notare i punti seguenti circa l'utilizzo del tipo di dati xml per creare viste:

  • Il tipo di dati xml può essere creato in una vista materializzata. La vista materializzata non può essere basata su un metodo con tipo di dati xml, ma è possibile eseguirne il cast su una raccolta di XML Schema diversa dalla colonna di tipo xml nella tabella di base.

  • Il tipo di dati xml non può essere utilizzato nelle viste partizionate distribuite.

  • I predicati SQL in esecuzione sulla vista non saranno inseriti in XQuery per la definizione della vista.

  • I metodi con tipo di dati xml in una vista non sono aggiornabili.