Создание представлений по XML-столбцам

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

Чтобы создавать представления, можно использовать столбец типа xml . В следующем примере создается представление, в котором значение из xml столбца типа извлекается с помощью value() метода 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

Выполните следующий запрос к представлению:

SELECT *
FROM   MyView;

Результат:

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

Обратите внимание на следующие аспекты использования типа данных xml при создании представлений:

  • Тип данных XML можно создать в материализованном представлении. Материализованное представление не может быть основано на методе типа данных XML . Однако они могут быть приведены к коллекции XML-схем, отличающейся от столбца типа xml базовой таблицы;

  • Тип данных XML нельзя использовать в распределенных секционированных представлениях.

  • Предикаты SQL, выполняемые в представлении, не будут отправляться в XQuery определения представления.

  • Методы типа данных XML в представлении не обновлялись.