예제 #1
0
파일: SharpBatch.cs 프로젝트: w0lya/sharpql
        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);
 }
예제 #9
0
 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
파일: CrossApply.cs 프로젝트: w0lya/sharpql
 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
파일: Parameter.cs 프로젝트: w0lya/sharpql
 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
파일: FromClause.cs 프로젝트: w0lya/sharpql
 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;
        }