Esempio n. 1
0
        protected override void Generate(CreateNormalColumn op)
        {
            if (op.IsIdentity)
            {
                throw new NotImplementedException("Oracle 数据库暂时不支持创建自增列。");
            }

            using (var sql = this.Writer())
            {
                sql.Write("ALTER TABLE ");
                sql.Write(this.Quote(op.TableName));
                sql.WriteLine();

                sql.Indent++;
                sql.Write("ADD ");

                this.GenerateColumnDeclaration(sql, op.ColumnName, op.DataType, op.Length, false, op.IsForeignKey);

                this.AddRun(sql);
            }
        }
Esempio n. 2
0
 protected abstract void Generate(CreateNormalColumn op);
Esempio n. 3
0
        protected override void Generate(CreateNormalColumn op)
        {
            using (var sql = this.Writer())
            {
                sql.Write("ALTER TABLE ");
                sql.Write(this.Quote(op.TableName));
                sql.WriteLine();

                sql.Indent++;
                sql.Write("ADD ");

                //自增列必然是不可空的,在创建列时必须同时把不可空约束给创建好了。
                this.GenerateColumnDeclaration(sql, op.ColumnName, op.DataType, op.Length, op.IsIdentity, op.IsForeignKey);

                if (op.IsIdentity)
                {
                    sql.Write(" IDENTITY(1,1)");
                }

                this.AddRun(sql);
            }
        }