private void WriteFrom(ParserWriter writer, APSqlFromClause clause, OracleCommand dbCmd) { if (clause != null && clause.Next != null) { writer.WriteLine(); writer.WriteDirect("FROM"); APSqlFromPhrase phrase = clause.Next; bool isFirst = true; while (phrase != null) { if (phrase.JoinType == APSqlJoinType.None) { if (!isFirst) { writer.Write(','); } else { isFirst = false; } writer.Write(phrase.TableName); if (phrase.AliasName != null) { writer.Write(phrase.AliasName); } } else { writer.Write(GetJoinTypeString(phrase.JoinType)); writer.Write(phrase.TableName); if (phrase.AliasName != null) { writer.Write(phrase.AliasName); } if (phrase.JoinType != APSqlJoinType.Cross && phrase.JoinOnPhrase != null) { WriteJoinOn(writer, phrase.JoinOnPhrase, dbCmd); } } phrase = phrase.Next as APSqlFromPhrase; } } }
/// <summary> /// SQL 'FROM' clause extensions. /// </summary> /// <param name="command">The command.</param> /// <param name="clause">The 'FROM' clause.</param> /// <returns>The command.</returns> public static APSqlSelectCommand from(this APSqlSelectCommand command, APSqlFromClause clause) { command.FromClause = clause; return(command); }
/// <summary> /// SQL 'FROM' clause extensions. /// </summary> /// <param name="command">The command.</param> /// <param name="clause">The 'FROM' clause.</param> /// <returns>The command.</returns> public static APSqlUpdateCommand from(this APSqlUpdateCommand command, APSqlFromClause clause) { command.FromClause = clause; return command; }
private void WriteFrom(ParserWriter writer, APSqlFromClause clause, SqlCommand dbCmd) { if (clause != null && clause.Next != null) { writer.WriteLine(); writer.WriteDirect("FROM"); APSqlFromPhrase phrase = clause.Next; bool isFirst = true; while (phrase != null) { if (phrase.JoinType == APSqlJoinType.None) { if (!isFirst) writer.Write(','); else isFirst = false; writer.Write(phrase.TableName); if (phrase.AliasName != null) writer.Write("AS " + phrase.AliasName); } else { writer.Write(GetJoinTypeString(phrase.JoinType)); writer.Write(phrase.TableName); if (phrase.AliasName != null) writer.Write("AS " + phrase.AliasName); if (phrase.JoinType != APSqlJoinType.Cross && phrase.JoinOnPhrase != null) { WriteJoinOn(writer, phrase.JoinOnPhrase, dbCmd); } } phrase = phrase.Next as APSqlFromPhrase; } } }