Пример #1
0
        protected override void BuildInsertQuery(SqlStatement statement, SqlInsertClause insertClause, bool addAlias)
        {
            BuildStep = Step.Tag;          BuildTag(statement);
            BuildStep = Step.InsertClause; BuildInsertClause(statement, insertClause, addAlias);

            if (statement.QueryType == QueryType.Insert && statement.SelectQuery !.From.Tables.Count != 0)
            {
                BuildStep = Step.WithClause;    BuildWithClause(statement.GetWithClause());
                BuildStep = Step.SelectClause;  BuildSelectClause(statement.SelectQuery);
                BuildStep = Step.FromClause;    BuildFromClause(statement, statement.SelectQuery);
                BuildStep = Step.WhereClause;   BuildWhereClause(statement.SelectQuery);
                BuildStep = Step.GroupByClause; BuildGroupByClause(statement.SelectQuery);
                BuildStep = Step.HavingClause;  BuildHavingClause(statement.SelectQuery);
                BuildStep = Step.OrderByClause; BuildOrderByClause(statement.SelectQuery);
                BuildStep = Step.OffsetLimit;   BuildOffsetLimit(statement.SelectQuery);
            }

            if (insertClause.WithIdentity)
            {
                BuildGetIdentity(insertClause);
            }
            else
            {
                BuildReturningSubclause(statement);
            }
        }
Пример #2
0
 protected override void BuildUpdateQuery(SqlStatement statement, SelectQuery selectQuery, SqlUpdateClause updateClause) {
   if (statement.GetWithClause() != null) {
     throw new NotSupportedException("iSeries doesn't support Cte in Update statement");
   }
   base.BuildUpdateQuery(statement, selectQuery, updateClause);
 }