Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
 public void Process(Expressions.DeleteColumnExpression expression)
 {
     Process(Generator.Generate(expression));
 }