Oracle截断列

时间:2016-02-08 07:01:47

标签: oracle sqlplus sql-insert truncation

我有以下查询。

insert into ORDER_INFO(ORDINF_PK,ORDINF_LGNDET_PK_FK,MEDIA_TYPE,ORDINF_MUSIC_FK,DAT)
values (1,1,'Music',21,TO_DATE('14-OCT-2015','DD-MON-YYYY'));

insert into ORDER_INFO(ORDINF_PK,ORDINF_LGNDET_PK_FK,MEDIA_TYPE,ORDINF_MUSIC_FK,ORDINF_SERIES_FK,DAT)
values (2,2,'Series',71,23,TO_DATE('07-NOV-2015','DD-MON-YYYY'));

然而,当我这样做时:

select * from ORDER_INFO;

我明白了:

truncating (as requested) before column ORDINF_SERIES_FK

truncating (as requested) before column ORDINF_MOVIES_FK

 ORDINF_PK ORDINF_LGNDET_PK_FK           MEDIA_TYPE ORDINF_MUSIC_FK      DAT
---------- ------------------- -------------------- --------------- ---------
     1                       1                Music              21 14-NOV-14
     2                       2               Series              71 07-NOV-15

据我所知,它正在截断ORDINF_MOVIES_FK,因为该列中没有条目,但为什么要截断ORDINF_SERIES_FK列?

2 个答案:

答案 0 :(得分:1)

注意 - 插入的行和数据库中的ARE,因此INSERT成功。 您收到的警告是来自SQL Plus程序的警告,这意味着该列显示的不是全宽(可能列的定义很长而SQL Plus决定显示列更短,因为您在那里有数据是短)。 无论如何,你无需担心这一点。

有关SQL * Plus wrap的更多说明,请参阅this链接。

答案 1 :(得分:1)

我设法解决了这个问题,我做到了。

set wrap on;
set pagesize 50000;
set linesize 120;

链接到这里:http://www.anattatechnologies.com/q/2012/01/sqlplus-pagesize-and-linesize/