Udostępnij przez


Za pomocą XML w kolumny obliczane

XML wystąpienia mogą pojawiać się jako urządzenie źródłowe dla kolumna obliczana, lub jako typ kolumna obliczana.W przykładach w tym temacie pokazują, jak używać XML z kolumny obliczane.

Tworzenie obliczono kolumny z kolumny XML

W następującej CREATE TABLE Instrukcja, xml Wpisz (kolumnacol2) jest obliczana od col1:

CREATE TABLE T(col1 varchar(max), col2 AS CAST(col1 AS xml) )  

The xml data type can also appear as a urządzenie źródłowe in creating a kolumna obliczana, as shown in the following CREATE TABLE instrukcja:

CREATE TABLE T (col1 xml, col2 as cast(col1 as varchar(1000) )) 

Można utworzyć kolumna obliczana, wyodrębnianie wartości od xml Wpisz kolumny, jak pokazano w poniższym przykładzie. Ponieważ xml metody typu danych nie mogą być używane bezpośrednio w tworzeniu kolumny obliczane, w przykładzie najpierw definiuje (funkcjamy_udf), zwraca wartość z wystąpienie XML. Funkcja zawijania value() Metoda xml Typ. Następnie określono nazwę funkcja w CREATE TABLE instrukcja dla kolumna obliczana.

CREATE FUNCTION my_udf(@var xml) returns int
AS BEGIN 
RETURN @var.value('(/ProductDescription/@ProductModelID)[1]' , 'int')
END
GO
-- Use the function in CREATE TABLE.
CREATE TABLE T (col1 xml, col2 as dbo.my_udf(col1) )
GO
-- Try adding a row. 
INSERT INTO T values('<ProductDescription ProductModelID="1" />')
GO
-- Verify results.
SELECT col2, col1
FROM T
 

Podobnie jak w poprzednim przykładzie, w poniższym przykładzie definiuje funkcja, aby zwrócić xml wystąpienie typu dla kolumna obliczana. Wewnątrz funkcja query() Metoda xml Typ danych pobiera wartości z xml Parametr typu.

CREATE FUNCTION my_udf(@var xml) 
  RETURNS xml AS 
BEGIN 
   RETURN @var.query('ProductDescription/Features')
END

W następującej CREATE TABLE Instrukcja, Col2 jest to kolumna obliczana, który używa (danych XML<Features> element), jest zwracana przez funkcja:

CREATE TABLE T (Col1 xml, Col2 as dbo.my_udf(Col1) )
-- Insert a row in table T.
INSERT INTO T VALUES('
<ProductDescription ProductModelID="1" >
  <Features>
    <Feature1>description</Feature1>
    <Feature2>description</Feature2>
  </Features>
</ProductDescription>')
-- Verify the results.
SELECT *
FROM T

W tej sekcji

Temat

Description

Property Promotion

Opisuje sposób używania właściwość promocyjne z kolumny obliczane i właściwość tabel.

See Also

Other Resources