Linguaggio XML di manipolazione dei dati (XML DML)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di Azure

Il linguaggio XML DML è un'estensione del linguaggio XQuery. Come definito dal consorzio W3C, il linguaggio XQuery non include la parte relativa alla manipolazione dei dati (DML). Il linguaggio XML DML illustrato in questo argomento e il linguaggio XQuery offrono un linguaggio per le query e per la modifica di dati perfettamente funzionante che può essere usato per il tipo di dati xml.

Rispetto al linguaggio XQuery, nel linguaggio XML DML sono state aggiunte le parole chiave con distinzione tra maiuscole e minuscole seguenti:

  • insert

  • delete

  • replace value of

Come illustrato nell'argomento Colonne e tipo di dati XML (SQL Server), è possibile creare variabili e colonne di tipo xml e assegnare loro documenti o frammenti XML. Per modificare o aggiornare queste istanze XML, eseguire le operazioni seguenti:

Si noti che alcuni attributi non possono essere inseriti o eliminati o non è possibile modificarne il valore. Ad esempio:

  • Per il codice xml tipizzato o non tipizzato, tali attributi sono xmlns, xmlns:* e xml:base.

  • Solo per il codice xml tipizzato, tali attributi sono xsi:nil e xsi:type.

Sono inoltre valide le restrizioni seguenti:

  • Per il codice xml tipizzato o non tipizzato, l'inserimento dell'attributo xml:base avrà esito negativo.

  • Per il codice xml tipizzato, l'eliminazione e la modifica dell'attributo xsi:nil avrà esito negativo. Per il codice xml non tipizzato, è possibile eliminare l'attributo o modificarne il valore.

  • Per il codice xml tipizzato, la modifica del valore dell'attributo xs:type avrà esito negativo. Per il codice xml non tipizzato, è possibile modificare il valore dell'attributo.

Quando si modifica un'istanza XML tipizzata, il formato finale deve essere un'istanza valida del tipo specifico, in caso contrario verrà restituito un errore di convalida.

Vedere anche

insert (XML DML)
delete (XML DML)
replace value of (XML DML)
Confrontare dati XML tipizzati con dati XML non tipizzati
Creare istanze di dati XML
metodi con tipo di dati xml