51

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

在 Oracle(9i 及更高版本)中

 Alter table employee  
 MODIFY ename varchar2(10);

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

  • Case1:如果表中的数据具有 ename 列,其中包含长度小于 10 char 的值(我的意思是它可以舒适地放入 varchar2(10) 中)-oracle 是否允许这样做?

  • 情况 2:如果表中的数据具有 ename 列,其中包含长度大于 10 个字符的值(我的意思是它不适合 varchar2(10))-oracle 不允许这样做吗?

4

1 回答 1

43

案例1:是的,这很好用。

情况 2:这将失败并出现错误 ORA-01441:无法减少列长度,因为某些值太大。

分享和享受。

于 2012-04-16T18:17:29.017 回答