UpdateSqlQuery
Sql-запрос для обновления полей в таблице, для которых значения соответствующих параметров, переданных в запрос, равны NULL.
Шаблон UpdateSqlQuery
<SqlQuery Name="" Type="Update">
<Updates>
<Update TableName="" Type="" Parameter="" OnlyLast="" />
</Updates>
<UpdateFields>
<UpdateField Name="" Value="" />
</UpdateFields>
<Text></Text>
</SqlQuery>
Описание UpdateSqlQuery
<SqlQuery Name="SqlQueryName" Type="Update">
<!--Тэги, общие для всех sql-запросов-->
<!--Тэги, специфичные для UpdateSqlQuery-->
</SqlQuery>
Тэги, специфичные для UpdateSqlQuery
UpdateFields
Поля для обновления и их значения.
Необязательный тэг. Значение тэга <UpdateFields>
: список тэгов <UpdateField>
.
<UpdateFields>
<UpdateField Name="field1_name" Value="Parameter1" />
<UpdateField Name="field2_name" Value="Parameter2" />
<UpdateField Name="field3_name" Value="Parameter3" />
</UpdateFields>
Тэг <UpdateField>
<UpdateField>
Поле таблицы для обновления значения.
Необязательный тэг. Значение тэга <UpdateField>
: не ожидается.
Атрибуты тэга <UpdateField>
<UpdateField>
Name
Название поля в обновляемой таблице.
Обязательный атрибут. Ожидается название одного из полей обновляемой таблицы.
Value
Имя параметра, который передает значение в это поле.
Обязательный атрибут. Ожидается название одного из параметров, переданных в запрос.
Text
Содержит sql-запрос.
Обязательный тэг. Значение тэга <Text>
: текст sql-запроса.
<Text>
SQL-query
</Text>
Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.
Текст sql-запроса поддерживает переменную {UpdateFields}, заменяемую при его выполнении конструкцией следующего вида:
field1_name = field1_value,
field2_name = field2_value,
field3_name = field3_value
где field<i>_name - название поля в обновляемой таблице, а field<i>_value - подставленное значение параметра Parameter<i>.
Особенность такой подстановки заключается в том, что, если очередное значение field<i>_value равно NULL, то поле field2_name исключается из конструкции подстановки. Таким образом, в таблице будут обновлены только те поля, значения для которых были переданы неравные NULL.
Например:
Название поля 1 - title
Название поля 2 - capacity
Название поля 3 - comment
Значение параметра 1 - "новый заголовок"
Значение параметра 2 - NULL
Значение параметра 3 - "новый комментарий"
Тогда переменная {UpdateFields} будет заменена в запросе следующей конструкцией:
title = 'новый заголовок',
comment = 'новый комментарий'
Last updated