insert 问题 -----inserted value too large for column

时间:2023-01-26 14:52:49
提示:inserted value too large for column

我甚至用的是pb生成的sql

我插两列还是不行

大虾救命

10 个解决方案

#1


你检查一下,肯定有些插入的数值是否比字段定义大

系统错误提示都已经这么清楚了

#2


9494

#3


please write down the statment that is error

#4


Mr.执着;
   Let me tell you, the statement must be 'ORA-01401: inserted value too large for column'.

  tsingdao (楚留情):
          你好!这是一个基本概念问题,正如弱水先生所说的,
‘系统错误提示都已经这么清楚了’,
          除此之外,你用以下语句去检查一下有汉字的字段的的长度,
假设;字段名为NAME VARCHAR2(8)
      值为‘悟空’
          SELECT LENGTHB(NAME) FROM TABLE;
     若返回的长度为 6 
嘿,那我要告诉你,你的汉字是三个字节长度的,这时,你要插入‘孙悟空’
当然不行了,因为‘孙悟空’是9个字节呀,很奇怪吧???

     你用的操作系统是什么?
     你的Oracle Server的字符集是什么?是UTF8吗?

#5


补充一下,这归根结底还是字符集的问题。

              ATCG 留

#6


难道提示还不够清楚吗?

#7


哈哈,Y14

#8


字符集:American_america.zhs16cgb231280

好像上面说的不行

我几十插入一列也不行,单字符
我用的是varchar2

#9


LENGTHB('悟空')
---------------
              4

INSERT INTO "JYJL"
        ( "JYH",
          "JYLX",
          "JYSJ",
          "KHBM",
          "HWBM",
          "HWHD",
          "HWGG",
          "JS",
          "TSCLW",
          "JZSJ",
          "JZR",
          "JE",
          "JGBM",
          "HWMC",
          "JGMC",
          "KHMC",
          "GJS",
          "DJ",
          "XSYBH",
          "XSYXM" )
 VALUES ( '0',
          '2',
          '08-JUN-02',
          ':ls_khbm',
         ' :ls',
          200,
          300,
          20,
          '0',
         '08-JUN-02',
          ':ls_jzr',
          55.22,
          ':ls_jg',
          ':ls_h',
          ':ls',
          ':lhmc',
          2.0,
          55,
          ':ls',
          ':ls_xsyxm ')

#10


create table jy(
 JYH                             NOT NULL VARCHAR2(8)
 JYLX                                     CHAR(1)
 JYSJ                                     DATE
 KHBM                                     VARCHAR2(7)
 HWBM                                     VARCHAR2(3)
 HWHD                                     NUMBER(5)
 HWGG                                     NUMBER(5)
 JS                                       NUMBER(5)
 TSCLW                                    CHAR(1)
 JZSJ                                     DATE
 JZR                                      VARCHAR2(10)
 JE                                       NUMBER(6,2)
 JGBM                                     VARCHAR2(3)
 HWMC                                     VARCHAR2(50)
 JGMC                                     VARCHAR2(50)
 KHMC                                     VARCHAR2(50)
 GJS                                      NUMBER(5,2)
 DJ                                       NUMBER(5,2)
 XSYBH                                    CHAR(3)
 XSYXM                                    VARCHAR2(30)
)

#1


你检查一下,肯定有些插入的数值是否比字段定义大

系统错误提示都已经这么清楚了

#2


9494

#3


please write down the statment that is error

#4


Mr.执着;
   Let me tell you, the statement must be 'ORA-01401: inserted value too large for column'.

  tsingdao (楚留情):
          你好!这是一个基本概念问题,正如弱水先生所说的,
‘系统错误提示都已经这么清楚了’,
          除此之外,你用以下语句去检查一下有汉字的字段的的长度,
假设;字段名为NAME VARCHAR2(8)
      值为‘悟空’
          SELECT LENGTHB(NAME) FROM TABLE;
     若返回的长度为 6 
嘿,那我要告诉你,你的汉字是三个字节长度的,这时,你要插入‘孙悟空’
当然不行了,因为‘孙悟空’是9个字节呀,很奇怪吧???

     你用的操作系统是什么?
     你的Oracle Server的字符集是什么?是UTF8吗?

#5


补充一下,这归根结底还是字符集的问题。

              ATCG 留

#6


难道提示还不够清楚吗?

#7


哈哈,Y14

#8


字符集:American_america.zhs16cgb231280

好像上面说的不行

我几十插入一列也不行,单字符
我用的是varchar2

#9


LENGTHB('悟空')
---------------
              4

INSERT INTO "JYJL"
        ( "JYH",
          "JYLX",
          "JYSJ",
          "KHBM",
          "HWBM",
          "HWHD",
          "HWGG",
          "JS",
          "TSCLW",
          "JZSJ",
          "JZR",
          "JE",
          "JGBM",
          "HWMC",
          "JGMC",
          "KHMC",
          "GJS",
          "DJ",
          "XSYBH",
          "XSYXM" )
 VALUES ( '0',
          '2',
          '08-JUN-02',
          ':ls_khbm',
         ' :ls',
          200,
          300,
          20,
          '0',
         '08-JUN-02',
          ':ls_jzr',
          55.22,
          ':ls_jg',
          ':ls_h',
          ':ls',
          ':lhmc',
          2.0,
          55,
          ':ls',
          ':ls_xsyxm ')

#10


create table jy(
 JYH                             NOT NULL VARCHAR2(8)
 JYLX                                     CHAR(1)
 JYSJ                                     DATE
 KHBM                                     VARCHAR2(7)
 HWBM                                     VARCHAR2(3)
 HWHD                                     NUMBER(5)
 HWGG                                     NUMBER(5)
 JS                                       NUMBER(5)
 TSCLW                                    CHAR(1)
 JZSJ                                     DATE
 JZR                                      VARCHAR2(10)
 JE                                       NUMBER(6,2)
 JGBM                                     VARCHAR2(3)
 HWMC                                     VARCHAR2(50)
 JGMC                                     VARCHAR2(50)
 KHMC                                     VARCHAR2(50)
 GJS                                      NUMBER(5,2)
 DJ                                       NUMBER(5,2)
 XSYBH                                    CHAR(3)
 XSYXM                                    VARCHAR2(30)
)