CreateMacroStmt <- MacroOrFunction IfNotExists? QualifiedName List(MacroDefinition) MacroOrFunction <- 'MACRO' / 'FUNCTION' MacroDefinition <- Parens(MacroParameters?) 'AS' (TableMacroDefinition / ScalarMacroDefinition) MacroParameters <- List(MacroParameter) MacroParameter <- NamedParameter / (TypeFuncName Type?) ScalarMacroDefinition <- Expression TableMacroDefinition <- 'TABLE' SelectStatement