这是一些用一个非常简单的表设置的SQL。

CREATE TABLE CC_TEST2
  ("CURRENCYID" NUMBER NOT NULL ENABLE,
"NAME" NVARCHAR2(255)) ;


insert into CC_TEST2 (select 1,'Testing issue'from dual);
commit;

然后,这会重现问题
    SELECT (step.Name ||
    'Commentary of 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890            1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
    1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 12')
 as thing  FROM CC_TEST2 step

有任何想法吗?

我认为nVarchar2有点奇怪吗?如果我将列类型更改为varChar2,则可以。可悲的是,我无法更改问题所在的实际生产数据库的列类型

最佳答案

如果将“NAME” NVARCHAR2(255)更改为“NAME” VARCHAR2(255)(即使用varchar2),则不会有任何问题。您可以在以下位置进行测试
http://sqlfiddle.com/#!4/cefd8/2

关于sql - 为什么我会收到ORA-01401 : inserted value too large for column - when I'm not inserting?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19537234/

10-12 14:36