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

时间:2012-04-16 18:01:49

标签: sql oracle

  

可能重复:
  How to make a varchar2 field shorter in Oracle?

在Oracle(9i及以上)

 Alter table employee  
 MODIFY ename varchar2(10);

我想将表employee的列ename从varchar2(30)更改为varchar2(10)

  • 案例1:如果表中的数据包含的ename列包含长度小于10 char的值(我的意思是它可以很好地适应varchar2(10)) - 这是否允许oracle?

  • 案例2:如果表中包含ename列的数据,其中包含长度大于10 char的值(我的意思是它不能适合varchar2(10)) - oracle不允许这样做吗?

1 个答案:

答案 0 :(得分:42)

案例1:是的,这很好。

案例2:这将失败并显示错误ORA-01441:由于某些值太大,无法减少列长度。

分享并享受。