Udostępnij przez


Modyfikowanie tabel (XML)

Instrukcja ALTER tabela obsługuje xml Typ danych. Na przykład, można zmienić w każdej kolumnie danych typu ciąg do xml Typ danych. Należy zauważyć, że w takim przypadku dokumentów znajdujących się kolumna muszą być dobrze uformowany.Ponadto z wpisaną xml w przypadku zmiany typu kolumna z ciąg, dokumentów kolumna są sprawdzane względem określonego schematów XSD.

CREATE TABLE T (Col1 int primary key, Col2 nvarchar(max))
GO
INSERT INTO T 
VALUES (1, '<Root><Product ProductID="1"/></Root>')
GO
ALTER TABLE T 
ALTER COLUMN Col2 xml
GO

Można zmienić xml Typ kolumna z bez typu pliku XML do wpisany XML. Na przykład:

CREATE TABLE T (Col1 int primary key, Col2 xml)
GO
INSERT INTO T 
values (1, '<p1:ProductDescription ProductModelID="1" 
xmlns:p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
            </p1:ProductDescription>')
GO 
-- Make it a typed xml column by specifying a schema collection.
ALTER TABLE T 
ALTER COLUMN Col2 xml (Production.ProductDescriptionSchemaCollection)
GO

Uwaga

Skrypt zostanie uruchomiony AdventureWorks Baza danych, ponieważ kolekcja schematu XML, Production.ProductDescriptionSchemaCollection, jest tworzona jako część AdventureWorks Baza danych.

W poprzednim przykładzie wszystkie wystąpienia przechowywane kolumna poprawności i wpisane przed schematów XSD w określonej kolekcja.Jeśli kolumna zawiera jeden lub więcej wystąpień XML, które są nieprawidłowe w odniesieniu do określonego schematu, ALTER TABLE Instrukcja nie powiedzie się i nie można zmienić bez typu kolumny XML do wpisywanych XML.

Uwaga

Jeśli tabela jest duża, modyfikowanie xml Typ kolumna może być kosztowne. Dzieje się tak, ponieważ każdego dokumentu należy sprawdzić dla są poprawnie sformatowane i wpisane XML, musi również zostać sprawdzone.

Aby uzyskać więcej informacji o wpisywanych XML zobacz Typed XML Compared to Untyped XML.

See Also

Other Resources