Exemplo n.º 1
0
        public static InsertQueryInfo VisitInsertStatement(InsertStatementContext context)
        {
            var queryInfo = new InsertQueryInfo
            {
                IgnoreDuplicate = context.IGNORE() != null,
                TableName       = VisitTableName(context.tableName()),
                Columns         = context.columns?.uid().Select(uid => GetSinglePartName(uid.GetText(), "Column")).ToArray() ?? Array.Empty <string>()
            };

            VisitInsertStatementValue(context.insertStatementValue(), queryInfo);

            return(queryInfo);
        }
Exemplo n.º 2
0
        public static void VisitInsertStatementValue(InsertStatementValueContext context, InsertQueryInfo queryInfo)
        {
            switch (context)
            {
            case ExpressionInsertStatementContext expressionContext:
            {
                queryInfo.Rows = expressionContext.expressionsWithDefaults().Select(VisitExpressionsWithDefault);
                break;
            }

            case JsonInsertStatementContext jsonContext:
            {
                queryInfo.JsonValues = jsonContext.jsonObject().Select(ExpressionVisitor.VisitJsonObject);
                break;
            }
            }
        }