Esempio n. 1
0
        public void Visit(DmlInsertStatement node)
        {
            InsertReplace(node);
            var dup = node.DuplicateUpdate;

            if (dup == null)
            {
                return;
            }

            var duplist = new IAstNode[dup.Count * 2];
            var i       = 0;

            foreach (var p in dup)
            {
                Identifier  key   = null;
                IExpression value = null;
                if (p != null)
                {
                    key   = p.Key;
                    value = p.Value;
                }
                duplist[i++] = key;
                duplist[i++] = value;
            }
            VisitChild(2, false, false, duplist);
        }
Esempio n. 2
0
 public virtual void Visit(DmlInsertStatement node)
 {
     VisitInternal(node.ColumnNameList);
     VisitInternal(node.DuplicateUpdate);
     VisitInternal(node.RowList);
     VisitInternal(node.Select);
     VisitInternal(node.Table);
 }
Esempio n. 3
0
            /// <exception cref="System.Exception" />
            public override string GetSql()
            {
                var sql   = new InsertLong().GetSql();
                var lexer = new MySqlLexer(sql);

                insert = new MySqlDmlInsertParser(lexer, new MySqlExprParser(lexer)).Insert();
                return(sql);
            }
Esempio n. 4
0
            /// <exception cref="System.Exception" />
            public override string GetSql()
            {
                var sb = new StringBuilder("insert into offer_detail (offer_id, gmt) values ");

                for (var i = 0; i < 8; ++i)
                {
                    if (i > 0)
                    {
                        sb.Append(", ");
                    }
                    sb.Append("(" + (i + 100) + ", now())");
                }
                var sql   = sb.ToString();
                var lexer = new MySqlLexer(sql);

                insert  = new MySqlDmlInsertParser(lexer, new MySqlExprParser(lexer)).Insert();
                sqlSize = new InsertLong().GetSql().Length;
                return(sql);
            }