51

重複の可能性:
Oracle で varchar2 フィールドを短くする方法は?

Oracle(9i以上)の場合

 Alter table employee  
 MODIFY ename varchar2(10);

テーブル employee の列 ename を varchar2(30) から varchar2(10) に変更したい

  • ケース1:テーブルに10文字未満の長さの値を含むename列を持つデータがある場合(つまり、varchar2(10)に快適に収まることを意味します)-これはoracleで許可されていますか?

  • ケース2:テーブルに10文字を超える長さの値を含むename列を持つデータがある場合(varchar2(10)に収まらないことを意味します)-これはoracleで許可されていませんか?

4

1 に答える 1

43

ケース 1 : はい、問題なく動作します。

ケース 2 : これはエラー ORA-01441 で失敗します: 一部の値が大きすぎるため、列の長さを減らすことはできません。

共有してお楽しみください。

于 2012-04-16T18:17:29.017 に答える