CREATE TABLE AA(MTA VARCHAR2(2));
INSERT INTO AA(MTA)
VALUES('红色');
报错, 提示插入值过大.
我的oracle9i是UTF8格式, 不知是这个引起的还是其它问题造成.

解决方案 »

  1.   

    你定义的VARCHAR(2)不能装下你需要插入的字符,一个汉字需要的空间是2个CHAR
      

  2.   

    MTA 字段长度不够.alter table AA modify MTA varchar2(10);
      

  3.   

    MTA 字段长度不够.
    一个汉字需要的空间是2个CHAR.CREATE TABLE AA(MTA VARCHAR2(4));<==最好大一点VARCHAR2(10) or VARCHAR2(20)
    INSERT INTO AA(MTA)
    VALUES('红色');
      

  4.   

    create table AAA (MAT_NM VARCHAR2(4));
    INSERT INTO AAA(MAT_NM)
    VALUES('红色');
    就出现ORA-01401: 数据域的插入值过大
    我的oracle9i是UTF8格式, 不知是这个引起的还是其它问题造成.
      

  5.   

    SQL> create table AAA (MAT_NM VARCHAR2(4));表已创建。SQL> INSERT INTO AAA(MAT_NM)
      2  VALUES('红色');已创建 1 行。SQL> select * from aaa;MAT_
    ----
    红色