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

本文内容来自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;
posted @   YashanDB  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示