SET VARIABLE
Описание
Этот оператор в основном используется для изменения системных переменных Doris. Эти системные переменные можно изменять на глобальном уровне и на уровне сеанса, а некоторые из них также можно изменять динамически. Просмотреть эти системные переменные можно с помощью SHOW VARIABLE.
Синтаксис
SET variable_assignment [, variable_assignment] [ ... ]
Где:
variable_assignment
: <user_var_name> = <expr>
| [ <effective_scope> ] <system_var_name> = <expr>
Обязательные параметры
1. <user_var_name>
Указывает переменную пользовательского уровня, например @your_variable_name. Имя переменной начинается с
@.
2. <system_var_name>
Указывает переменную системного уровня, например exec_mem_limit.
Необязательные параметры
1. <effective_scope>
Область действия может принимать одно из значений:
GLOBAL,SESSIONилиLOCAL. Если область действия не указана, по умолчанию используетсяSESSION.LOCAL— псевдонимSESSION.
Требования к управлению доступом
Пользователи, выполняющие эту команду SQL, должны иметь как минимум следующие привилегии:
| Привилегия | Объект | Примечания |
|---|---|---|
| ADMIN_PRIV | Сеанс | Для установки глобальных переменных требуются права администратора |
Примечания по использованию
- Только пользователи ADMIN могут задавать переменные с глобальной областью действия.
- Переменная с глобальной областью действия влияет на текущий сеанс и на новые сеансы, созданные после её установки, но не влияет на другие уже существующие сеансы.
Пример
-
Установить восьмой восточный часовой пояс
SET time_zone = "Asia/Shanghai"; -
Задать глобальный объём памяти для выполнения
SET GLOBAL exec_mem_limit = 137438953472 -
Задать пользовательскую переменную
SET @your_variable_name = your_variable_value;