改变包含数据的表中列的大小

可能重复:
如何在Oracle中缩短varchar2字段?

在Oracle(9i及以上)

Alter table employee MODIFY ename varchar2(10); 

我想将表员工的列名从varchar2(30)更改为varchar2(10)

  • 情况1:如果表中的数据具有包含长度小于10个字符的值(我的意思是它可以适应varchar2(10)舒适地)ename列 – 是否允许oracle?

  • 情况2:如果表中的数据具有包含长度大于10个字符的值(我的意思是它不能适应varchar2(10))的ename列 – 这不是由Oracle允许的吗?

案例1:是的,这工作正常。

情况2:这将失败,错误ORA-01441:不能减less列长度,因为有些值太大。

分享和享受。