should be it
This commit is contained in:
21
external/duckdb/extension/autocomplete/grammar/statements/merge_into.gram
vendored
Normal file
21
external/duckdb/extension/autocomplete/grammar/statements/merge_into.gram
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MergeIntoStatement <- WithClause? 'MERGE' 'INTO' TargetOptAlias MergeIntoUsingClause MergeMatch* ReturningClause?
|
||||
MergeIntoUsingClause <- 'USING' TableRef JoinQualifier
|
||||
MergeMatch <- MatchedClause / NotMatchedClause
|
||||
MatchedClause <- 'WHEN' 'MATCHED' AndExpression? 'THEN' MatchedClauseAction
|
||||
MatchedClauseAction <- UpdateMatchClause / DeleteMatchClause / InsertMatchClause / DoNothingMatchClause / ErrorMatchClause
|
||||
UpdateMatchClause <- 'UPDATE' (UpdateMatchSetClause / ByNameOrPosition?)
|
||||
DeleteMatchClause <- 'DELETE'
|
||||
InsertMatchClause <- 'INSERT' (InsertValuesList / DefaultValues / InsertByNameOrPosition)?
|
||||
InsertByNameOrPosition <- ByNameOrPosition? '*'?
|
||||
InsertValuesList <- InsertColumnList? 'VALUES' Parens(List(Expression))
|
||||
DoNothingMatchClause <- 'DO' 'NOTHING'
|
||||
ErrorMatchClause <- 'ERROR' Expression?
|
||||
UpdateMatchSetClause <- 'SET' (UpdateSetClause / '*')
|
||||
AndExpression <- 'AND' Expression
|
||||
NotMatchedClause <- 'WHEN' 'NOT' 'MATCHED' BySourceOrTarget? AndExpression? 'THEN' MatchedClauseAction
|
||||
BySourceOrTarget <- 'BY' ('SOURCE' / 'TARGET')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user