Перейти к содержанию

Параметры запроса

Материал из Химсофт Вики
Версия от 04:33, 16 октября 2026; Sidminik (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

В тексте запроса могут присутствовать параметры.

Пример

Рассмотрим запрос к демонстрационной базе 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 Имя параметра - то же самое имя параметра, которое использовалось в тексте запроса (подставляется автоматически).

Примечание: некоторые СУБД (например, MS Access) не поддерживают именованные параметры; в этом случае оставьте это свойство без изменений.

DataType Тип данных параметра.
DefaultValue Значение по умолчанию, которое будет присвоено параметру
  • при отсутствии значения в свойстве Expression,
  • при невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета).
Expression Выражение, которое возвращает значение параметра - будет вычислено при запуске отчета на выполнение.
Size Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных строка.

Примечание

Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера.