pub enum Set {
SingleAssignment {
scope: Option<ContextModifier>,
hivevar: bool,
variable: ObjectName,
values: Vec<Expr>,
},
ParenthesizedAssignments {
variables: Vec<ObjectName>,
values: Vec<Expr>,
},
MultipleAssignments {
assignments: Vec<SetAssignment>,
},
SetSessionAuthorization(SetSessionAuthorizationParam),
SetSessionParam(SetSessionParamKind),
SetRole {
context_modifier: Option<ContextModifier>,
role_name: Option<Ident>,
},
SetTimeZone {
local: bool,
value: Expr,
},
SetNames {
charset_name: Ident,
collation_name: Option<String>,
},
SetNamesDefault {},
SetTransaction {
modes: Vec<TransactionMode>,
snapshot: Option<Value>,
session: bool,
},
}Expand description
Variants for the SET family of statements.
Variants§
SingleAssignment
SQL Standard-style
SET a = 1;
SET var = value (standard SQL-style assignment).
Fields
scope: Option<ContextModifier>Optional scope modifier (SESSION / LOCAL).
variable: ObjectNameVariable name to assign.
ParenthesizedAssignments
Snowflake-style
SET (a, b, ..) = (1, 2, ..);
SET (a, b) = (1, 2) (tuple assignment syntax).
Fields
variables: Vec<ObjectName>Variables being assigned in tuple form.
MultipleAssignments
MySQL-style
SET a = 1, b = 2, ..;
SET a = 1, b = 2 (MySQL-style comma-separated assignments).
Fields
assignments: Vec<SetAssignment>List of SET assignments (MySQL-style comma-separated).
SetSessionAuthorization(SetSessionAuthorizationParam)
Session authorization for Postgres/Redshift
SET SESSION AUTHORIZATION { user_name | DEFAULT }See https://www.postgresql.org/docs/current/sql-set-session-authorization.html See https://docs.aws.amazon.com/redshift/latest/dg/r_SET_SESSION_AUTHORIZATION.html
SetSessionParam(SetSessionParamKind)
MS-SQL session
See https://learn.microsoft.com/en-us/sql/t-sql/statements/set-statements-transact-sql
SetRole
SET [ SESSION | LOCAL ] ROLE role_nameSets session state. Examples: ANSI, Postgresql, MySQL, and Oracle
Fields
context_modifier: Option<ContextModifier>Non-ANSI optional identifier to inform if the role is defined inside the current session (SESSION) or transaction (LOCAL).
SetTimeZone
SET TIME ZONE <value>Note: this is a PostgreSQL-specific statements
SET TIME ZONE <value> is an alias for SET timezone TO <value> in PostgreSQL
However, we allow it for all dialects.
SET TIME ZONE statement. local indicates the LOCAL keyword.
SET TIME ZONE <value> statement.
SetNames
SET NAMES 'charset_name' [COLLATE 'collation_name']Fields
SetNamesDefault
SET NAMES DEFAULTNote: this is a MySQL-specific statement.
SetTransaction
SET TRANSACTION ...Trait Implementations§
Source§impl Ord for Set
impl Ord for Set
Source§impl PartialOrd for Set
impl PartialOrd for Set
Source§impl VisitMut for Set
impl VisitMut for Set
Source§fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
VisitorMut. Read more