Ms sql xml modify

Ms sql xml modify

Метод modify()

Метод modify() позволяет изменять значения непосредственно в XML-документе.

Так же, как и другие методы, он требует выражение XPath, чтобы понять, какое значение нужно изменить. Однако, в отличие от других методов, modify() работает с оператором UPDATE (и не работает с оператором SELECT). Также, modify() может работать только с одним значением за раз. В математике и программировании это называется одноэлементным множеством.

Так как не существует никакого ограничения на количество элементов, содержащихся внутри другого элемента, выражение XPath может возвращать много дочерних элементов. Например, если имеется такой XML документ:

выражение XPath /week/day возвращает три элемента, которые не являются одноэлементным множеством:

Однако, если заменить выражение XPath на (/week/day)[1], то будет возвращён только один элемент "Monday".

Попробуем получить название первого лейбла альбома "OK Computer" группы "Radiohead".

FirstLabelText
Parlophone

Метод modify() имеет единственной целью изменение значений в XML-документе, что является полезной возможностью. Представьте, что XML-документ уже импортирован на Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server, и обнаружилась опечатка или нужно обновить только одно значение. Чтобы не загружать заново уже исправленный XML-документ, можно просто использовать метод modify() и изменить необходимые значения непосредственно в сохранённом XML-документе на SQL Server.

В следующем примере мы поменяем местами названия лейблов альбома "OK Computer" группы "Radiohead". Первый лейбл должен быть заменён на "Capitol", а второй – на "Parlophone".

Метод modify() может быть использован в предложении SET оператора UPDATE по отношению к переменной или столбцу типа данных XML.

Отлично – исправленный запрос отработал корректно, что подтверждается сообщениями:

(1 row(s) affected)

Читайте также:  Windows 10 обновление пираток

(1 row(s) affected)

Теперь вернёмся к исходному запросу (с использованием оператора SELECT) и выполним его, чтобы проверить, что названия лейблов были обновлены корректно.

Эта задача может быть решена по-другому. Можно поменять местами элементы "label" без изменения их значений. Просто вставим копию первого лейбла в конец списка лейблов.

После чего удалим первый лейбл.

Чтобы удостовериться, что лейблы поменялись местами корректно, выполним следующий запрос:

Теперь попробуем отметить песню "Perfect Crime" из альбома "Use Your Illusion I" группы Guns N’ Roses, как популярную. Для этого добавим в XML-документ в соответствующий элемент атрибут isPopular со значением 1.

В качестве ещё одного примера добавим информацию о дате выпуска и дате записи песни "Estranged" из альбома "Use Your Illusion II" группы Guns N’ Roses. Обратите внимание, что в данном примере в элемент добавляется сразу два атрибута.

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

Изменяет содержимое XML-документа. Modifies the contents of an XML document. Данный метод служит для изменения содержимого переменной или столбца типа xml. Use this method to modify the content of an xml type variable or column. Этот метод использует DML-инструкцию языка XML для вставки, обновления и удаления узлов из данных XML. This method takes an XML DML statement to insert, update, or delete nodes from XML data. Метод modify() типа данных xml может быть использован только в предложении SET инструкции UPDATE. The modify() method of the xml data type can only be used in the SET clause of an UPDATE statement.

Читайте также:  Kb2852386 обновление не применимо к этому компьютеру

Синтаксис Syntax

Аргументы Arguments

XML_DML XML_DML
Строка языка обработки данных для XML. Is a string in XML Data Manipulation Language (DML). Обновление XML-документа выполняется в соответствии с этим выражением. The XML document is updated according to this expression.

Возвращается ошибка, если метод modify() вызван при значении NULL или приводит к значению NULL. An error is returned if the modify() method is called on a null value or results in a null value.

Примеры Examples

Поскольку метод modify() требует строку на XML-языке обработки данных (DML), образцы для метода modify() содержатся в разделах, описывающих DML-инструкции. Because the modify() method requires a string in the XML Data Manipulation Language (DML), the samples for modify() are contained in the topics that describe the XML DML statements. Эти примеры см. в разделах insert (XML DML), delete (XML DML) и replace value of (XML DML). For these examples, see insert (XML DML), delete (XML DML) and replace value of (XML DML).

ПРИМЕНЯЕТСЯ К: SQL Server (начиная с 2008) База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse

Изменяет содержимое XML-документа. Этот метод используется для изменения содержимого xml переменной или столбце типа. Этот метод использует DML-инструкцию языка XML для вставки, обновления и удаления узлов из данных XML. Modify() метод xml тип данных может использоваться только в предложении SET инструкции UPDATE.

Область применения: SQL Server (отSQL Server 2008 до текущей версии), База данных SQL Azure.

XML_DML
Строка языка обработки данных для XML. Обновление XML-документа выполняется в соответствии с этим выражением.

Примечание

Если возвращается ошибка modify() метод вызывается при значении null или приводит к значению null.

Читайте также:  Askpartnernetwork что это за программа

Поскольку modify() требует строку на XML данных обработки языка DML, образцы для modify() содержатся в разделах, описывающих DML-инструкции. Эти примеры см. в разделе insert (XML DML), удалить (XML DML) и заменить значение (XML DML).

Ссылка на основную публикацию
Adblock detector