示例#1
0
        public SqlServerAlterUserActionNode VisitAlterUser(AlterUserStatement alterUserStatement)
        {
            var node = new SqlServerAlterUserActionNode
            {
                TargetUser = IdentifierVisitor.CreateIdentifier(alterUserStatement.Name)
            };

            foreach (var userOption in alterUserStatement.UserOptions)
            {
                if (userOption is IdentifierPrincipalOption identifierPrincipalOption)
                {
                    switch (userOption.OptionKind)
                    {
                    case PrincipalOptionKind.Name:
                        node.NewUserName = IdentifierVisitor.CreateIdentifier(identifierPrincipalOption.Identifier);
                        break;

                    case PrincipalOptionKind.DefaultSchema:
                        node.DefaultSchema = IdentifierVisitor.CreateIdentifier(identifierPrincipalOption.Identifier);
                        break;
                    }
                }
            }

            SqlServerTree.PutFragmentSpan(node, alterUserStatement);

            return(node);
        }
示例#2
0
 public override void Visit(AlterUserStatement node) { this.action(node); }
 public override void ExplicitVisit(AlterUserStatement fragment)
 {
     _fragments.Add(fragment);
 }