写点什么

【YashanDB 知识库】分布式 LSC 表修改字段

作者:YashanDB
  • 2025-02-11
    广东
  • 本文字数:521 字

    阅读完需:约 2 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://www.yashandb.com/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;
复制代码


发布于: 刚刚阅读数: 8
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】分布式LSC表修改字段_数据库_YashanDB_InfoQ写作社区