public override void Process(Expressions.DeleteColumnExpression expression) { truncator.Truncate(expression); CheckColumn(expression.TableName, expression.ColumnNames); LockColumn(expression.TableName, expression.ColumnNames); foreach (string columnName in expression.ColumnNames) { if (SequenceExists(String.Empty, GetSequenceName(expression.TableName, columnName))) { DeleteSequenceForIdentity(expression.TableName, columnName); } } RegisterExpression <DeleteColumnExpression>(expression); InternalProcess(Generator.Generate(expression)); }
public override string Generate(Expressions.DeleteColumnExpression expression) { var builder = new StringBuilder(); if (expression.ColumnNames.Count == 0 || string.IsNullOrEmpty(expression.ColumnNames.First())) { return(string.Empty); } builder.AppendFormat("ALTER TABLE {0}", Quoter.QuoteTableName(expression.TableName, expression.SchemaName)); foreach (var column in expression.ColumnNames) { builder.AppendFormat(" DROP COLUMN {0}", Quoter.QuoteColumnName(column)); } return(builder.ToString()); }
public void Process(Expressions.DeleteColumnExpression expression) { Process(Generator.Generate(expression)); }