public virtual VfpExpression Visit(VfpUpdateCommandTree expression)
 {
     return(new VfpUpdateCommandTree(VisitVfpExpressionBinding(expression.Target),
                                     CreateDbSetClauses(expression.SetClauses),
                                     expression.Predicate,
                                     expression.Parameters,
                                     expression.Returning == null ? null : expression.Returning.Accept(this)));
 }
Ejemplo n.º 2
0
        private static void GenerateUpdateReturningSql(VfpProviderManifest vfpManifest, VfpUpdateCommandTree commandTree, DmlSqlFormatter formatter, VfpExpression returning)
        {
            if (returning == null)
            {
                return;
            }

            formatter.WriteLine(Indentation.Same);
            formatter.Write(VfpCommand.SplitCommandsToken);
            formatter.WriteLine(Indentation.Same);

            // select
            formatter.Write("SELECT ");
            returning.Accept(formatter);
            formatter.WriteLine(Indentation.Same);

            // from
            formatter.Write("FROM ");
            commandTree.Target.Expression.Accept(formatter);
            formatter.WriteLine(Indentation.Same);

            // where
            formatter.Write("WHERE ");
            commandTree.Predicate.Accept(formatter);
        }