Параметры запроса: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 23: | Строка 23: | ||
Это запрос к демонстрационной базе <code>PostgreSQL</code>. В запросе определен параметр с именем <code>lab_id</code>. | Это запрос к демонстрационной базе <code>PostgreSQL</code>. В запросе определен параметр с именем <code>lab_id</code>. | ||
<div style="background-color: #e7f3ff; border-left: 5px solid #2196f3; padding: 15px; margin: 10px 0;"> | |||
'''Примечание''' | |||
Способ определения параметров в запросе отличается для разных СУБД: | |||
*для <code>PosgreSQL</code> и <code>MS SQL</code> параметр обозначается символом <code>@</code>; | |||
*для <code>MS Access</code> параметры не имеют имен и обозначаются символами <code>?</code>. | |||
</div> | |||
Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр: | Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр: | ||
Версия от 04:24, 16 октября 2026
В тексте запроса могут присутствовать параметры.
Пример
Рассмотрим следующий запрос:
SELECT DISTINCT
cl."ID" AS lab_id,
e."ID" AS fio_id,
e."SURNAME" AS surname,
e."NAME" AS name,
e."PATRONYMIC" AS patronymic,
CONCAT(e."SURNAME", ' ', e."NAME", ' ', e."PATRONYMIC") AS fio
FROM "COMPANY_LEVEL" cl
INNER JOIN "EMPLOYEE_CLB" e_clb
ON cl."ID" = e_clb."COMPANY_LEVEL_ID"
INNER JOIN "EMPLOYEE" e
ON e."ID" = e_clb."ENTITY_ID"
WHERE cl."ID" = @lab_id
ORDER BY fio;
Это запрос к демонстрационной базе PostgreSQL. В запросе определен параметр с именем lab_id.
Примечание
Способ определения параметров в запросе отличается для разных СУБД:
- для
PosgreSQLиMS SQLпараметр обозначается символом@; - для
MS Accessпараметры не имеют имен и обозначаются символами?.
Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр:

Свойства
В окне справа необходимо настроить следующие свойства параметра:
| Свойство | Описание |
|---|---|
Name
|
Имя параметра - то же самое имя параметра, которое использовалось в тексте запроса (подставляется автоматически).
Примечание: некоторые СУБД (например, |
DataType
|
Тип данных параметра. |
DefaultValue
|
Значение по умолчанию, которое будет присвоено параметру
|
Expression
|
Выражение, которое возвращает значение параметра - будет вычислено при запуске отчета на выполнение. |
Size
|
Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных строка.
|
Примечание
Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера.