Deveel.Data.Sql.Statements.CreateTableStatement.AppendTo C# (CSharp) Method

AppendTo() protected method

protected AppendTo ( SqlStringBuilder builder ) : void
builder SqlStringBuilder
return void
        protected override void AppendTo(SqlStringBuilder builder)
        {
            builder.Append("CREATE TABLE ");
            if (IfNotExists)
                builder.Append("IF NOT EXISTS ");

            builder.Append(TableName);
            builder.AppendLine(" (");
            builder.Indent();

            for (int i = 0; i < Columns.Count; i++) {
                var column = Columns[i];

                builder.AppendFormat("{0} {1}", column.ColumnName, column.ColumnType.ToString());

                if (column.IsIdentity) {
                    builder.Append(" IDENTITY");
                } else {
                    if (column.IsNotNull)
                        builder.Append(" NOT NULL");
                    if (column.HasDefaultExpression)
                        builder.AppendFormat(" DEFAULT {0}", column.DefaultExpression);
                }

                if (i < Columns.Count - 1)
                    builder.Append(",");

                builder.AppendLine();
            }

            builder.DeIndent();
            builder.Append(")");
        }