コード例 #1
0
        internal override string ToString(string indent)
        {
            var sb = new StringBuilder();

            //sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString());
            //if (EdgeColumn != null)
            //    sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString());
            //else
            //    sb.AppendFormat("{0}INSERT EDGE INTO {1}\r\n", indent, Target.ToString());
            sb.AppendFormat("{0}INSERT INTO {1}", indent, Target.ToString());
            if (Columns != null && Columns.Count > 0)
            {
                sb.AppendFormat(" ({0}", Columns[0].ToString(indent));
                for (var i = 1; i < Columns.Count; ++i)
                {
                    sb.AppendFormat(", {0}", Columns[i].ToString(indent));
                }
                sb.Append(")");
            }
            sb.Append("\r\n");
            sb.Append(SelectInsertSource.ToString(indent));

            //sb.Append(SelectInsertSource.ToString(indent));
            //sb.Append("\r\n");
            return(sb.ToString());
        }
コード例 #2
0
 public override void AcceptChildren(WSqlFragmentVisitor visitor)
 {
     if (SelectInsertSource != null)
     {
         SelectInsertSource.Accept(visitor);
     }
     base.AcceptChildren(visitor);
 }
コード例 #3
0
        internal override string ToString(string indent)
        {
            var sb = new StringBuilder();

            sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString());
            sb.Append(SelectInsertSource.ToString(indent));
            return(sb.ToString());
        }
コード例 #4
0
        public static EngineResult Evaluate(InsertSpecification insert, IOutputSink sink, Scope scope)
        {
            var table = scope.Env.GetTable((NamedTableReference)insert.Target);

            return(insert.InsertSource switch
            {
                ValuesInsertSource values => Evaluate(table, insert.Columns, values, NullArgument.It, sink, scope),
                SelectInsertSource select => Evaluate(table, insert.Columns, Evaluate(@select.Select, scope).ResultSet,
                                                      sink, scope),
                _ => throw FeatureNotSupportedException.Subtype(insert.InsertSource)
            });
コード例 #5
0
ファイル: SQLInsertInterpreter.cs プロジェクト: IM-SQL/IMSQL
        protected override object InternalVisit(SelectInsertSource node)
        {
            var result = Visit <SQLExecutionResult>(node.Select).Values;

            return(result.Records.Select(r => r.ItemArray).ToArray());
        }
コード例 #6
0
ファイル: AllNodesVisitor.cs プロジェクト: yaakoviyun/sqlskim
 public override void Visit(SelectInsertSource node) { this.action(node); }
コード例 #7
0
 public override void ExplicitVisit(SelectInsertSource fragment)
 {
     _fragments.Add(fragment);
 }