使用的客户端为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 数据类型