DECLARE
Объявляет типизированное именованное выражение, значение для которого будет передано параметром отдельно от текста запроса. Параметризация дает возможность отделить разработку аналитического решения задачи от её запуска с различными вариантами входных значений.
Для транзакционной нагрузки использование параметров позволяет избежать перекомпиляции запросов при повторении однотипных вызовов, снижая потребление ресурсов сервера, и исключая время компиляции из общего времени исполнения запроса.
Передача параметров поддерживается в SDK, CLI, и в графических интерфейсах.
Синтаксис
DECLARE $named-node AS data_type;
- Ключевое слово
DECLARE. $named-node— имя, по которому можно будет обращаться к переданному значению, должно начинаться с символа$.- Ключевое слово
AS. data_type— тип данных в виде строки в принятом формате.
Допустимы только сериализуемые типы данных:
- Примитивные типы.
- Опциональные типы.
- Контейнеры за исключением
Stream<Type>. VoidиNull— поддерживаемые специальные типы.
Пример
DECLARE $x AS String;
DECLARE $y AS String?;
DECLARE $z AS List<String>;
SELECT $x, $y, $z;
Примеры передачи параметров для DECLARE можно найти здесь.