Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }