protected override void Generate(AlterColumnType op) { using (var sql = this.Writer()) { sql.Write("ALTER TABLE "); sql.Write(this.Quote(op.TableName)); sql.WriteLine(); sql.Indent++; sql.Write("MODIFY ");//ORACLE 中,MODIFY 关键字后没有 COLUMN 关键字。 //Oracle 中如果可空性没有变化时,不能加到 Modify Column 之后。 bool? isRequired = null; this.GenerateColumnDeclaration(sql, op.ColumnName, op.NewType, op.Length, isRequired, op.IsForeignKey); this.AddRun(sql); } }
protected abstract void Generate(AlterColumnType op);
protected override void Generate(AlterColumnType op) { using (var sql = this.Writer()) { sql.Write("ALTER TABLE "); sql.Write(this.Quote(op.TableName)); sql.WriteLine(); sql.Indent++; sql.Write("ALTER COLUMN "); this.GenerateColumnDeclaration(sql, op.ColumnName, op.NewType, op.Length, op.IsRequired, op.IsForeignKey); this.AddRun(sql); } }