Пример #1
0
        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());
        }