pub struct Update<'a> {
pub update_span: Span,
pub flags: Vec<UpdateFlag>,
pub tables: Vec<TableReference<'a>>,
pub set_span: Span,
pub set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>,
pub where_: Option<(Expression<'a>, Span)>,
}
Expand description
Representation of replace Statement
let sql = "UPDATE tab1, tab2 SET tab1.column1 = value1, tab1.column2 = value2 WHERE tab1.id = tab2.id";
let stmt = parse_statement(sql, &mut issues, &options);
let u: Update = match stmt {
Some(Statement::Update(u)) => u,
_ => panic!("We should get an update statement")
};
println!("{:#?}", u.where_.unwrap())
Fields§
§update_span: Span
Span of “UPDATE”
flags: Vec<UpdateFlag>
Flags specified after “UPDATE”
tables: Vec<TableReference<'a>>
List of tables to update
set_span: Span
Span of “SET”
set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>
List of key,value pairs to set
where_: Option<(Expression<'a>, Span)>
Where expression and span of “WHERE” if specified