Convertire colonne esistenti in colonne XML
Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure
L'istruzione ALTER TABLE supporta il tipo di dati xml . Ad esempio, è possibile modificare qualsiasi colonna di tipo string nel tipo di dati xml . In questi casi è necessaria la correttezza del formato dei documenti contenuti nella colonna. Se inoltre si sta modificando il tipo della colonna da stringa a xml tipizzato, i documenti nella colonna vengono convalidati rispetto agli schemi XSD specificati.
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;
È possibile modificare una colonna di tipo xml da XML non tipizzato a XML tipizzato. Ad esempio:
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);
Nota
Lo script verrà eseguito sul database AdventureWorks2022
, poiché la raccolta XML Schema Production.ProductDescriptionSchemaCollection
viene creata come parte del database AdventureWorks2022
.
Nell'esempio precedente, tutte le istanze archiviate nella colonna vengono convalidate e tipizzate rispetto agli schemi XSD nella raccolta specificata. Se la colonna contiene una o più istanze XML non valide rispetto allo schema specificato, l'istruzione ALTER TABLE
avrà esito negativo e non sarà possibile modificare il tipo della colonna da XML non tipizzato a XML tipizzato.
Nota
Se una tabella è di grandi dimensioni, la modifica di una colonna di tipo xml può risultare onerosa, poiché è necessario un controllo di correttezza del formato di ogni documento e, nel caso del codice XML tipizzato, è necessaria anche la convalida.
Vedi anche
- Per altre informazioni sul codice XML tipizzato, vedere Confrontare dati XML tipizzati con dati XML non tipizzati.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per