缩小oracle中的一列
发布时间:2021-02-06 07:01:56 所属栏目:站长百科 来源:网络整理
导读:假设我有一个具有以下定义的表 create table dummy (col1 number(9) not null) 这个dummy.col1中的所有值都是7位长.现在我想使用alter命令将此列的长度从9 – 7减少. Oracle给出了错误,即要修改的列必须为空以降低精度或比例.说得通. 我想问一下是否有任何减
假设我有一个具有以下定义的表 create table dummy (col1 number(9) not null) 这个dummy.col1中的所有值都是7位长.现在我想使用alter命令将此列的长度从9 – 7减少. Oracle给出了错误,即要修改的列必须为空以降低精度或比例.说得通. 我想问一下是否有任何减少列大小的工作? >我无法删除列中的值. 解决方法列大小与数据的物理存储方式无关(它们是可变长度)例如如果存储在数字(38)中,数字(2)中的“23”将占用完全相同的空间 它纯粹是对可以存储在列中的最大数量的约束,因此您只需在列上添加约束: ALTER TABLE dummy ADD CONSTRAINT c1 CHECK (col1 < 9999999) ENABLE VALIDATE; 如果你想让它更快一点,将VALIDATE更改为NOVALIDATE显然这不会检查现有数据的有效性. (编辑:瑞安网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |