为什么我得到ORA-01401:插入值对于列而言太大-当我不插入时?
技术问答
242 人阅读
|
0 人回复
|
2023-09-13
|
这是一些用一个非常简单的表设置的SQL。& g2 i$ E% {0 k! _" L+ r5 Y
CREATE TABLE CC_TEST2
/ F h4 Q9 t4 T0 U ("CURRENCYID" NUMBER NOT NULL ENABLE, : P4 X+ O/ o6 p$ u
"NAME" NVARCHAR2(255)) ;
$ `+ Q/ ]4 N6 y0 f5 `$ L( z: r& O1 C% t
insert into CC_TEST2 (select 1,'Testing issue'from dual);* w# l9 l/ }! \3 o8 L' p6 m- o! D3 E
commit;" h5 A! m+ ?; _! Z+ y* m; i+ a
然后,这会重现问题+ S. F& Q% F$ k8 ~5 m/ X& T
SELECT (step.Name ||0 A* l( d5 }) |4 b& ?& }4 f$ _
'Commentary of 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 6 V# l1 i, d" Q N7 \$ V7 L, R. P
1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
/ q3 Y5 e2 m8 a( w% Z 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
6 @ P3 C0 c! I& W y! ]: D% |4 P 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890
1 |. v; \+ Y& Y: W0 B 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 - {, @3 L5 L8 h* ]( H& L t3 j
1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890# L# k% i O4 V$ w. s
1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 12')
9 c3 g3 A1 r: U, E$ ] as thing FROM CC_TEST2 step6 B2 [% B' U- E% b! _# X
有任何想法吗?9 M7 D+ ]+ H& j; k5 D
我认为nVarchar2有点奇怪吗?如果我将列类型更改为varChar2,则可以。可悲的是,我无法更改问题所在的实际生产数据库的列类型
% J0 @8 y" w1 O. l 2 w/ b0 \* V$ I
解决方案:3 w! X2 ~- F2 I# y0 M0 y
7 i" x& M$ d) [& w' P) h( @+ q! @
) ^2 @. s; u6 J0 Z3 \8 y, G6 F. }/ V9 S+ G5 k b+ H
如果将“ NAME” NVARCHAR2(255)更改为“ NAME”7 W# b: {7 t, n) q+ V0 s; F+ e
VARCHAR2(255)(即通过使用varchar2),则不会有任何问题。您可以在http://sqlfiddle.com/#!4/cefd8/2上进行相同的测试 |
|
|
|
|
|