Za pomocą języka XML w kolumny obliczane
XML wystąpienia mogą pojawiać się jako źródło kolumna obliczana, lub jako kolumna obliczana.W tym temacie przykłady przedstawiają XML za pomocą kolumny obliczane.
Tworzenie obliczane kolumny z kolumny XML
W następującej CREATE TABLE instrukcja, xml typu kolumna (col2) jest obliczana z col1:
CREATE TABLE T(col1 varchar(max), col2 AS CAST(col1 AS xml) )
xml Typ danych może także pojawić się jako źródło w tworzeniu kolumna obliczana, jak pokazano w następującej CREATE TABLE instrukcja:
CREATE TABLE T (col1 xml, col2 as cast(col1 as varchar(1000) ))
Można utworzyć kolumna obliczana przez wyodrębnianie wartości z xml Typ kolumna, jak pokazano w następującym przykładzie.Ponieważ xml metod typu danych nie można stosować bezpośrednio w tworzeniu kolumny obliczane, na przykład najpierw definiuje funkcja (my_udf), zwraca wartość z XML wystąpienie.Funkcja zawijania value() metoda xml typu.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
Jak w poprzednim przykładzie następujący przykład definiuje funkcja zwraca xml wystąpienie typu dla kolumna obliczana.Wewnątrz funkcja query() metoda xml Typ danych pobiera wartość z xml typu parametru.
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 kolumna obliczana używającej 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 |
Opis |
---|---|
Opisuje sposób używania właściwość promocji z właściwość tabele i kolumny obliczane. |