# 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>
```
