本文内容来自 YashanDB 官网,原文内容请见 https:///newsinfo/7441392.html?templateId=1718516
概述
分布式中 LSC 表不支持修改字段,本文通过间接的方案快速实现 LSC 表字段的修改。
LSC 表修改列方案
假如原表如下,将字段 area_name 长度由 VARCHAR2 (60) 修改为 VARCHAR2 (100)
CREATE TABLE area
(area_no CHAR(2) NOT NULL PRIMARY KEY,
area_name VARCHAR2(60),
DHQ VARCHAR2(20) DEFAULT 'ShenZhen' NOT NULL);
修改步骤如下
-- 注:以下SQL需在yasql命令行下执行 -- step1:将原表备份ALTER TABLE area RENAME TO area_bak; -- step2:统计备份表记录数SELECT COUNT(*) FROM area_bak; -- step3:重建表,将字段area_name长度由VARCHAR2(60)修改为VARCHAR2(100)CREATE TABLE area (area_no CHAR(2) NOT NULL PRIMARY KEY, area_name VARCHAR2(100), DHQ VARCHAR2(20) DEFAULT 'ShenZhen' NOT NULL); -- step4:将备份表数据通过bulkload冷数据方式快速导入新表SET AUTOCOMMIT OFF;INSERT /*+ bulkload */ INTO area select * from area_bak;COMMIT; -- step5:统计新记录数SELECT COUNT(*) FROM area; -- step6:确保新表记录数没问题,删除备份表DROP TABLE area_bak;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3071683/ ,如需转载,请注明出处,否则将追究法律责任。