db2修改字段属性,db2修改字段名

http://www.itjxue.com  2023-01-13 09:34  来源:未知  点击次数: 

急求修改db2数据库字段属性:一字段由varchar(50)到varchar(500) ?

我使用DB2 V9.7

CONNECT TO SAMPLE;

ALTER TABLE ADMINISTRATOR.TEST ALTER COLUMN B SET DATA TYPE VARCHAR ( 500 ) ;

CONNECT RESET;

其中B原来是VARCHAR(50),直接修改成功。

db2数据库?怎么修改一个字段的数据类型

运行db2cc,在控制中心中右击要修改的表,生成DDL,将该DDL中CREATE

TABLE命令包括表名进行相应修改后,运行该命令创建符合需要的新表。

然后insert

into

newtable

select

*

from

oldtable,如果可以兼容的话,否则你需要考虑怎么修改一下。

最后删除旧表,新表改名为旧表。

希望能帮到您。

db2 唯一索引列改名

DB2中,如果某一列上有唯一性索引,那么当修改这个列的字段类型的时候,会报SQL0478N的错误。

例如,将表T2的ID列由int型修改为varchar型。如果索引不是唯一性索引,则修改没有任何报错。唯一性约束不能被修改,若想修改,只能重建。

DB2中如何将一个clob类型的字段改为varchar类型

clob类型的字段改为varchar类型的方法如下:

1、新增一列varchar2类型,varchar2类型最大4000:alter table test add(c varchar2(4000));

2、将clob列数据更新到新增列:update test set c=clob_col;

3、删除clob列:alter table test drop column clob_col;

4、将新增列名更改回原来列名:alter table test rename column c to clob_col;

db2如何修改字段

因为数据类型不同,首先需要对现有数据进行处理。

如果对表中字段顺序没有要求的话:可以先添加一个Date类型字段,把time中的值插入到新字段中,然后把time字段Drop掉,然后再添加一个类型为Date的time字段,前面新增字段的值放回来,再去掉该字段。Done。

比较复杂,可以rename

table

把现在表重命名掉,然后新增一张表。然后把数据导回来,然后删除掉rename

的那张表。

DB2_表结构修改相关语句

--删除主键

ALTER TABLE EXP.OLTP_TRANSFERS DROP PRIMARY KEY;

COMMIT;

--新增主键

ALTER TABLE EXP.OLTP_TRANSFERS ADD CONSTRAINT OLTP_TRANSFERS_PK PRIMARY KEY(COLUMN_NAME);

COMMIT;

--添加索引

CREATE /*UNIQUE唯一*/ INDEX EXP.OLTP_TRANSFERS_IDX_1

? ON EXP.OLTP_TRANSFERS ( COLUMN_NAME ASC )

? ALLOW REVERSE SCANS

? COMPRESS NO INCLUDE NULL KEYS;

COMMIT;

--删除索引

DROP INDEX EXP.OLTP_TRANSFERS_IDX_1;

COMMIT;

--添加字段

ALTER TABLE EXP.OLTP_TRANSFERS ADD COLUMN COLUMN_NAME VARCHAR(10);

COMMIT;

--设置非空,需要重整表

ALTER TABLE EXP.OLTP_TRANSFERS ALTER COLUMN COLUMN_NAME? SET NOT NULL;

COMMIT;

--删除字段,需要重整表

ALTER TABLE EXP.OLTP_TRANSFERS DROP COLUMN COLUMN_NAME CASCADE;

COMMIT;

--重整表

REORG TABLE EXP.OLTP_TRANSFERS;

COMMIT;

(责任编辑:IT教学网)

更多

推荐网络创业文章