protected virtual void EmitAlterTableStatement(AlterTableStatement statement) { Indent(); AppendFormat("{0} {1} ", Keywords.Alter, Keywords.Table); if (!String.IsNullOrEmpty(statement.TableSchema)) { EmitIdentifier(statement.TableSchema); Append(Keywords.Qualifier); } EmitIdentifier(statement.TableName); Append(" "); bool first = true; for (int index = 0; index < statement.AddColumns.Count; index++) { if (!first) { AppendFormat("{0} ", Keywords.ListSeparator); } else { first = false; } AppendFormat("{0} ", Keywords.Add); EmitColumnDefinition(statement.AddColumns[index]); } for (int index = 0; index < statement.AlterColumns.Count; index++) { if (!first) { AppendFormat("{0} ", Keywords.ListSeparator); } else { first = false; } EmitAlterColumnDefinition(statement.AlterColumns[index]); } for (int index = 0; index < statement.DropColumns.Count; index++) { if (!first) { AppendFormat("{0} ", Keywords.ListSeparator); } else { first = false; } AppendFormat("{0} {1} ", Keywords.Drop, Keywords.Column); EmitIdentifier(statement.DropColumns[index].ColumnName); } }
protected override void EmitAlterTableStatement(SQL.AlterTableStatement statement) { Indent(); AppendFormat("{0} {1} ", SQL.Keywords.Alter, SQL.Keywords.Table); EmitIdentifier(statement.TableName); for (int index = 0; index < statement.AddColumns.Count; index++) { AppendFormat(" {0} {1}", SQL.Keywords.Add, SQL.Keywords.BeginGroup); EmitColumnDefinition(statement.AddColumns[index]); Append(SQL.Keywords.EndGroup); } for (int index = 0; index < statement.AlterColumns.Count; index++) { SQL.AlterColumnDefinition definition = statement.AlterColumns[index]; if (definition.AlterNullable) { AppendFormat(" {0} ", "modify"); EmitIdentifier(definition.ColumnName); if (definition.IsNullable) { AppendFormat(" {0}", SQL.Keywords.Null); } else { AppendFormat(" {0} {1}", SQL.Keywords.Not, SQL.Keywords.Null); } } } for (int index = 0; index < statement.DropColumns.Count; index++) { AppendFormat(" {0} {1}", SQL.Keywords.Drop, SQL.Keywords.BeginGroup); EmitIdentifier(statement.DropColumns[index].ColumnName); Append(SQL.Keywords.EndGroup); } }