public SqlString ToSqlString() { if (tableName == null) { throw new HibernateException("no table name defined for insert-select"); } if (select == null) { throw new HibernateException("no select defined for insert-select"); } var buf = new SqlStringBuilder(columnNames.Count + 4); if (comment != null) { buf.Add("/* " + comment + " */ "); } buf.Add("insert into ").Add(tableName); if (!(columnNames.Count == 0)) { buf.Add(" ("); bool commaNeeded = false; foreach (var columnName in columnNames) { if (commaNeeded) { buf.Add(", "); } buf.Add(columnName); commaNeeded = true; } buf.Add(")"); } buf.Add(" ").Add(select.ToStatementString()); return(buf.ToSqlString()); }