Ejemplo n.º 1
0
        public override object VisitInsert_stmt([NotNull] SqlParser.Insert_stmtContext context)
        {
            var statement   = new InsertStatement();
            var columnNames = context.column_name();

            if (columnNames != null && columnNames.Length > 0)
            {
                statement.Columns = new List <string>();
                foreach (var item in columnNames)
                {
                    statement.Columns.Add(item.GetText());
                }
            }

            if (context.qualified_table_name() != null)
            {
                statement.Table = (TableName)VisitQualified_table_name(context.qualified_table_name());
            }

            if (context.K_VALUES() != null && context.K_DEFAULT() == null)
            {
                statement.Values = new List <IList <IExpression> >();
                foreach (var vl in context.values_list())
                {
                    var valueList = new List <IExpression>();
                    foreach (var val in vl.expr())
                    {
                        valueList.Add((IExpression)VisitExpr(val));
                    }
                    statement.Values.Add(valueList);
                }
            }
            return(statement);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="SqlParser.insert_stmt"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitInsert_stmt([NotNull] SqlParser.Insert_stmtContext context)
 {
     return(VisitChildren(context));
 }