创建db2数据库需要注意问题

使用的客户端为IBM DB2

1、db2对大小写敏感,常见建表语句中,表的名字是驼峰表示法,但是当使用alter对表添加约束时,
  例如:
  我们创建表:
  CREATE TABLE tA (
    id decimal(19,0),
  primary key(id)
  );

  添加约束:

  alter table ta add constraint FK_tarchivedSR_tsealModel foreign key (sealModelId) references tsealmodel (id);

  那么会出现没有定义ta的错误
  

2、对于整形数据,例如从oracle迁移过来的建表语句:
  CREATE TABLE tarchivedSealrecord (
     id number(38,0) primary key);

  db2不支持number类型,支持decimal但是长度最多为31位,可以使用bigint
  

3、对于有约束的字段,不允许为空,例如上例:
  主键约束,如果没有写id decimal(19,0) not null primary key,而仅仅写了id decimal(19,0) primary key
  那么会报无法创建约束,id可能为空

4、对于字符数据字段,例如我们从oracle迁移过来的建表语句,其中某个字段定义如下:

 type varchar2(1024 char),
  此时会报不支持varchar2类型
 改为varchar会报不支持char
 因此需要改为type varchar(1024)


5、另外db2支持序列,可以直接将oracle创建序列语句直接迁移过来


6、创建db2数据库时要注意编码为utf-8

7、表空间可选初始叶片大小有:4k,8k,16k,32k

8、修改字段类型:alter table tablename alter column columname set data type 数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值