【问题标题】:Oracle truncating columnOracle 截断列
【发布时间】:2016-02-08 07:01:46
【问题描述】:

我有以下问题。

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 列?

【问题讨论】:

  • 我对 SQL 非常陌生(几个小时),所以我不知道您所说的“你是如何运行那个 SQL 的?”是什么意思。我正在使用 SSH 从终端运行它。这能回答问题吗?我正在使用 sqlplus。
  • 也许你可以试试COLUMN ORDINF_MOVIES_FK CLEAR

标签: oracle sqlplus sql-insert truncation


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    注意 - 数据库中插入的行和 ARE 行,所以 INSERT 成功。 您收到的警告是来自 SQLPlus 程序的警告,这意味着该列未以全宽显示(可能列的定义很长,而 SQLPlus 决定显示较短的列,因为您在那里拥有数据是短)。 在任何情况下您都不必担心这一点。

    查看this链接了解更多关于SQL*Plus wrap的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2012-06-10
      • 2017-09-23
      • 2014-01-19
      • 2020-09-07
      相关资源
      最近更新 更多