# SqlQueries

## Описание SqlQuery <a href="#description_sql_query" id="description_sql_query"></a>

```xml
<SqlQuery Name="SqlQueryName" Type="SqlQueryType" Assembly="SqlQueryAssembly">
  <!--Тэги, общие для всех sql-запросов-->
  <!--Тэги, специфичные для определенного sql-запроса (зависит от типа)-->
</SqlQuery>
```

### Атрибуты SqlQuery <a href="#attributes_sql_query" id="attributes_sql_query"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="522.3333333333333"></th></tr></thead><tbody><tr><td align="center">Name</td><td><p>Название sql-запроса.</p><p></p><p>Обязательный атрибут.</p></td></tr><tr><td align="center">Type</td><td><p>Название типа sql-запроса (если тип отличается от обычного).</p><p></p><p>Необязательный атрибут.</p></td></tr><tr><td align="center">Assembly</td><td><p>Название сборки (библиотека), если тип sql-запроса не поддерживается по умолчанию.</p><p></p><p>Необязательный атрибут.</p></td></tr></tbody></table>

## Тэги, общие для всех SqlQuery <a href="#common-tags" id="common-tags"></a>

### Updates <a href="#updates" id="updates"></a>

Регистрация выполнения запроса в таблице "update" локальной схемы данных.

Необязательный тэг. Значение тэга `<Updates>`: список тэгов [`<Update>`](#updates_update).

```xml
<Updates>
  <Update TableName="table_name" Type="Update" Parameter="Field1Value" OnlyLast="False" />
</Updates>
```

#### Тэг `<Update>` <a href="#updates_update" id="updates_update"></a>

Регистрация одного параметра выполнения запроса.

Обязательный тэг. Значение тэга `<Update>`: не ожидается.

#### Атрибуты тэга `<Update>` <a href="#attributes_tag_updates_update" id="attributes_tag_updates_update"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="522.3333333333333"></th></tr></thead><tbody><tr><td align="center">TableName</td><td><p>Название таблицы, с которой работает запрос.</p><p></p><p>Обязательный атрибут.</p><p></p><p>Возможно использование названия одной из таблиц локальной схемы данных (может быть любое текстовое значение).</p></td></tr><tr><td align="center">Type</td><td><p>Тип запроса.</p><p></p><p>Обязательный атрибут. Ожидается название одного из типов запросов.</p></td></tr><tr><td align="center">Parameter</td><td><p>Имя параметра, переданного в запрос.</p><p></p><p>Обязательный атрибут. Ожидается имя одного из параметров, переданных в запрос.</p></td></tr><tr><td align="center">OnlyLast</td><td><p>Признак, определяющий, будет ли строка с повторяющийся комбинацией значений в полях "table_name" (имя таблицы базы данных), "type" (тип запроса), "query_name" (название запроса) и "parameter" (значение параметра) в таблице "update" локальной схемы данных записана еще раз или будет обновлена существующая. Обновление коснется полей "user_id" (идентификатор пользователя, выполнившего запроса) и "date" (дата завершения выполнения запроса).</p><p></p><p>Необязательный атрибут. Ожидается логическое значение.</p><p></p><p>Если атрибут <code>OnlyLast</code> отсутствует, то по умолчанию используется значение False.</p></td></tr></tbody></table>

Регистрация выполнения запроса записывает для каждого параметра, указанного в атрибутах `Parameter` тэгов [`<Update>`](#updates_update), строку в таблицу "update" локальной схемы данных. Подробнее см. описание системной таблицы "update".

#### Типы запросов

<table data-header-hidden><thead><tr><th align="center"></th><th width="522.3333333333333"></th></tr></thead><tbody><tr><td align="center">Select</td><td>Запрос на чтение данных из базы</td></tr><tr><td align="center">Insert</td><td>Запрос на добавление данных в базу</td></tr><tr><td align="center">Update</td><td>Запрос на обновление данных в базе</td></tr><tr><td align="center">Delete</td><td>Запрос на удаление данных из базы</td></tr></tbody></table>

### Text <a href="#text" id="text"></a>

Содержит sql-запрос.

Обязательный тэг. Ожидается текст sql-запроса.

Текст sql-запроса поддерживает переменные типа {Parameter}, заменяемые при его выполнении значениями параметров с соответствующими названиями, передаваемых клиентом.

```xml
<Text>
  SQL-query
</Text>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wfsys.gitbook.io/workflow-engine-syntax/workflow_engine/sql_queries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
