Добавление данных

Для вставки данных используется раздел after. Раздел before опускается. Если вы хотите получить на выходе значение колонки identity, укажите атрибут returned (и атрибут at-identity, см. далее). Для элемента, обозначающего таблицу, вы можете дополнительно указать три атрибута:

  • id – будет рассмотрен в разделе Обновление данных;
  • at-identity – позволяет получить в результирующий XML-документ значение вставленного поля для колонки identity. Например, пусть имеется такая таблица
create table test1(_id int identity,fld1 int)

Вот шаблон, который вставляет в нее данные:

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <updg:sync> <updg:after updg:returnid="ident_field"> <test1 fld1="23" updg:at-identity="ident_field"/> </updg:after> </updg:sync></ROOT>

Результатом выполнения команды «http://server/server_pubs/template/upd1.xml» будет следующий документ:

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <returnid><ident_field>1</ident_field></returnid></ROOT>
  • guid – предназначен для генерации глобально уникального идентификатора (GUID).

Давайте рассмотрим более сложный пример с использованием схемы. Вот схема:

<?xml version="1.0" encoding="windows-1251"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="Авторы" sql:relation="authors"> <xsd:complexType> <xsd:attribute name="Имя" type="xsd:string" sql:field="au_fname" /> <xsd:attribute name="Фамилия" type="xsd:string" sql:field="au_lname" /> <xsd:attribute name="Идентификатор" type="xsd:string" sql:field="au_id" /> <xsd:attribute name="Контракт" type="xsd:integer" sql:field="contract" default="1"/> </xsd:complexType> </xsd:element></xsd:schema>

Здесь мы явно использовали аннотации, так как названия XML-узлов составлены на русском. После выполнения следующего шаблона:

<?xml version="1.0" encoding="windows-1251"?><ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <updg:sync mapping-schema="upd_schema.xml"> <updg:after> <Авторы Имя="alex" Фамилия="shirshov" Идентификатор="123-15-3452"/> </updg:after> </updg:sync></ROOT>

мои имя и фамилия (да простят мне читатели нескромность) окажутся в таблице authors.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: