public static SqlStatement Alter(PlSqlParser.AlterUserStatementContext context) { var userName = context.userName().GetText(); var actions = new List <IAlterUserAction>(); foreach (var actionContext in context.alterUserAction()) { if (actionContext.alterUserIdAction() != null) { actions.Add(SetPassword(actionContext.alterUserIdAction())); } else if (actionContext.setAccountAction() != null) { actions.Add(SetAccount(actionContext.setAccountAction())); } else if (actionContext.setRoleAction() != null) { actions.Add(SetRole(actionContext.setRoleAction())); } } if (actions.Count == 1) { return(new AlterUserStatement(userName, actions[0])); } var seq = new SequenceOfStatements(); foreach (var action in actions) { seq.Statements.Add(new AlterUserStatement(userName, action)); } return(seq); }
public override SqlStatement VisitAlterUserStatement(PlSqlParser.AlterUserStatementContext context) { return(UserStatements.Alter(context)); }