跳到主要内容
跳到主要内容

SET 语句

SET param = value

value 赋给当前会话的 param setting。无法通过这种方式更改服务器设置

你也可以在单个查询中,将指定 SETTINGS PROFILE 中的所有设置值一次性应用。

SET profile = 'profile-name-from-the-settings-file'

对于值为 true 的布尔类型设置,可以通过省略赋值来使用简写语法。仅指定设置名称时,它会自动被设为 1(true)。

-- These are equivalent:
SET force_index_by_date = 1
SET force_index_by_date

设置查询参数

SET 语句还可以用于定义查询参数,只需在参数名称前添加前缀 param_。 查询参数允许您编写带占位符的通用查询,这些占位符会在执行时被实际值替换。

SET param_name = value

要在查询中使用查询参数,请按 {name: datatype} 这种语法进行引用:

SET param_id = 42;
SET param_name = 'John';

SELECT * FROM users
WHERE id = {id: UInt32}
AND name = {name: String};

当需要对同一个查询以不同的值多次执行时,查询参数尤其有用。

有关查询参数的更详细信息(包括与 Identifier 类型配合使用),请参阅定义和使用查询参数

更多信息,请参阅Settings