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
第一创建表的时候就创建自增字段,语法:CONNECT TO SAMPLES
CREATE TABLE T_TEST (
F_ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE ) ,
F_NAME VARCHAR (10) )
CONNECT RESET
第二种就是修改已有表的字段为自增字段:
db2 =>alter table ORGAN_NODE alter column ID set GENERATED ALWAYS AS
IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE )
这个是不能做到的,除非把表删除重新创建的!原理是这样子的:当你创建表时系统会记录下你的SEQ-ID,就是字段的顺序号,这个是根据字段先后顺序来生成的,系统默认显示的时候也是根据这个来的,你如果加个字段,他会根据SEQ_ID的最大值产生一个SEQ_ID+1的值。
因此当你看到的时候这个字段默认是在最后的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)