COMMENT ON column 模式名.表名.字段 IS 't和f的注释'
--删除主键
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
可以通过工具获得其DML如下:CREATE TABLE RTTS.T1(CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL)
接下来,要创建一个类似的表,但要多增加一个自增的ID字段,建表语句如下:
CREATE TABLE RTTS.T2(id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1,NO CACHE) PRIMARY KEY,CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL)
注意id这个字段不一定非要是主键,更可以换成别的名。你完全可以根据自己情况调整的。
再接下来,需要把原有表的数据导入到新表里,采用如下语句:
INSERT INTO RTTS.T2(CUSTOMER_ID,PRODUCT_ID) SELECT CUSTOMER_ID,PRODUCT_ID FROM RTTS.T1
然后,删除掉原来的表(为安全起见,可以改名,待新表数据确认无误再删除):
drop table RTTS.T1
再将新表改名:
RENAME TABLE "RTTS"."T2" TO "T1"
最后看一眼“新的”T1表!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)