sql – 为什么我得到ORA-01401:插入的值对于列太大 – 当我没有插入?

前端之家收集整理的这篇文章主要介绍了sql – 为什么我得到ORA-01401:插入的值对于列太大 – 当我没有插入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一些使用非常简单的表设置的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
原文链接:https://www.f2er.com/mssql/76998.html

猜你在找的MsSQL相关文章