Параметры запроса: различия между версиями
Внешний вид
Sidminik (обсуждение | вклад) Нет описания правки |
Sidminik (обсуждение | вклад) Нет описания правки |
||
| (не показано 12 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
В тексте запроса могут присутствовать параметры. Рассмотрим | В тексте запроса могут присутствовать параметры. | ||
==Пример== | |||
Рассмотрим запрос к демонстрационной базе <code>PostgreSQL</code>: | |||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
| Строка 18: | Строка 21: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
В запросе определен параметр с именем <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>@lab_id</code>); | |||
*для <code>Oracle</code> параметр обозначается символом <code>:</code> (например, <code>:lab_id</code>); | |||
*для <code>MS Access</code> параметры не имеют имен и обозначаются символами <code>?</code>. | |||
</div> | |||
==Свойства== | |||
[[Файл: query_parameters_1.png|center|border]] | [[Файл: query_parameters_1.png|center|border]] | ||
Для того чтобы работать с параметром, в окне справа необходимо настроить следующие его свойства: | |||
{|class="wikitable" style="margin:auto; background-color: #fff;" | {|class="wikitable" style="margin:auto; background-color: #fff;" | ||
| Строка 32: | Строка 43: | ||
!Описание | !Описание | ||
|- | |- | ||
|<code> | |<code>Name</code> | ||
|Имя параметра - то же самое имя параметра, которое использовалось в тексте запроса (подставляется автоматически). | |||
'''''Примечание:''' некоторые СУБД (например, <code>MS Access</code>) не поддерживают именованные параметры; в этом случае оставьте это свойство без изменений.'' | |||
|- | |- | ||
|<code>DataType</code> | |||
|Тип данных параметра. | |||
|- | |||
|<code>DefaultValue</code> | |||
|Значение по умолчанию, которое будет присвоено параметру | |||
*при отсутствии значения в свойстве <code>Expression</code>, | |||
*при невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета). | |||
|- | |||
|<code>Expression</code> | |||
|Выражение, которое возвращает значение параметра - будет вычислено при запуске отчета на выполнение. | |||
|- | |||
|<code>Size</code> | |||
|Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных <code>строка</code>. | |||
|- | |||
|} | |||
<div style="background-color: #e7f3ff; border-left: 5px solid #2196f3; padding: 15px; margin: 10px 0;"> | |||
'''Примечание''' | |||
Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера. | |||
</div> | |||
Текущая версия от 04:33, 16 октября 2026
В тексте запроса могут присутствовать параметры.
Пример
Рассмотрим запрос к демонстрационной базе PostgreSQL:
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;
В запросе определен параметр с именем lab_id.
Примечание
Способ определения параметров в запросе отличается для разных СУБД:
- для
PosgreSQLиMS SQLпараметр обозначается символом@(например,@lab_id); - для
Oracleпараметр обозначается символом:(например,:lab_id); - для
MS Accessпараметры не имеют имен и обозначаются символами?.
Свойства

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