Перейти к содержимому
Последнее обновление

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;