Workflow Engine (Syntax)
Платформа WTСинтаксисБаза знаний
  • Workflow.xml
  • Workflow Engine
    • AccessPoints
    • ApiMethod
    • Commands
      • SMSCenterEngineCommand
        • GetBalanceCommand
        • GetCostCommand
        • GetStatusCommand
        • SendCommand
      • FilesCopyCommand
      • LogWriteCommand
      • SchedulerConditionRefreshCommand
      • SequentialCommand
      • SqlQueryCommand
    • Conditions
      • ComparisonCondition
        • EqualCondition
        • GreaterCondition
        • IsNotNullCondition
        • IsNullCondition
        • LessCondition
        • NotEqualCondition
        • NotGreaterCondition
        • NotLessCondition
      • SqlQueryCondition
    • DataTypes
      • BooleanDataType
      • DateDataType
      • DateTimeDataType
      • DoubleDataType
      • IntegerDataType
      • ShortDataType
      • StringDataType
      • TableDataType
      • TimeSpanDataType
    • Scheduler
    • SqlQueries
      • SqlQuery
      • UpdateSqlQuery
    • Permissions
      • Permission
      • AccessPointPermission
      • ApiMethodPermission
      • CommandPermission
      • SqlQueryPermission
    • Roles
    • Groups
    • Универсальные значения
      • Константа
      • Parameter
      • CommandResult
      • ConditionResult
      • Логическое выражение
Powered by GitBook
On this page
  • Шаблон UpdateSqlQuery
  • Описание UpdateSqlQuery
  • Тэги, специфичные для UpdateSqlQuery
  • UpdateFields
  • Text
  1. Workflow Engine
  2. SqlQueries

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 Name="field1_name" Value="Parameter1" />
  <UpdateField Name="field2_name" Value="Parameter2" />
  <UpdateField Name="field3_name" Value="Parameter3" />
</UpdateFields>

Тэг <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 3 years ago

Необязательный тэг. Значение тэга <UpdateFields>: список тэгов .

<UpdateField>