示例#1
0
        public string ToString(bool outputParameterDeclarations)
        {
            this.ScriptBuilder.Clear();
            TSqlVisitor visitor = new TSqlVisitor(this.ScriptBuilder);

            foreach (var statement in this.statementList)
            {
                this.ScriptBuilder.AppendFragment(statement.FirstFragment, null, visitor);
                this.ScriptBuilder.AppendLine();
            }
            return(this.ScriptBuilder.ToSqlString(outputParameterDeclarations));
        }
示例#2
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.DivideArithmeticExpressionOperator(parent, this);
 }
示例#3
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.SearchedCase(parent, this);
 }
示例#4
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.VisitColumn(parent, this);
 }
示例#5
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.UpdateTopPercentTable(parent, this);
 }
示例#6
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.ConstantExpression(parent, this);
 }
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.VisitScalarSelectStatementExpression(parent, this);
 }
示例#8
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.WhereDelete(parent, this);
 }
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.DeleteTopPercentFromTable(parent, this);
 }
示例#10
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.InsertValuesStart(parent, this);
 }
示例#11
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.SelectTopPercent <T>(parent, this);
 }
示例#12
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.StartsWithPredicate(parent, this);
 }
示例#13
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.InsertTopPercentIntoTable(parent, this);
 }
示例#14
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.ExpressionAssign(parent, this);
 }
示例#15
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.CrossApply(parent, this);
 }
示例#16
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.UserDefinedFunction(parent, this);
 }
示例#17
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.InsertAdvancedClause(parent, this);
 }
示例#18
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.SelectDistinct <T>(parent, this);
 }
示例#19
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.Parameter(parent, this);
 }
示例#20
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.InsertIntoTableAdvanced(parent, this);
 }
示例#21
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.FromClause(parent, this);
 }
示例#22
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.RightOuterJoin <T>(parent, this);
 }
示例#23
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.GroupByClause <T>(parent, this);
 }
示例#24
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.NextValues(parent, this);
 }
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.VisitRowNumberOverOrderByExpression(parent, this);
 }
示例#26
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     throw new NotImplementedException();
 }
示例#27
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.SimpleFunction(parent, this);
 }
示例#28
0
 public override void Build(SqlFragment parent, TSqlVisitor visitor)
 {
     visitor.Table(parent, this);
 }
示例#29
0
        internal ScriptBuilder AppendFragment(SqlFragment fragment, SqlFragment parent, TSqlVisitor visitor) {
            SqlFragment v = parent;
            // TODO check here if this is a correct behaviour
            while (fragment != null) {
                fragment.Build(v, visitor);
                v = fragment;
                fragment = fragment.NextFragment;
            }

            return this;
        }