为什么employee_id以“###########”而不是数字形式出现在文本文件中?

时间:2013-01-27 18:09:20

标签: oracle oracle11g

我有两个文本文件如下:

Project2.txt

77;445;John;55
78;445;John;50
79;445;John;65

Project1.txt

80;447;John;35
81;447;John;45
84;447;John;51

现在我创建了一个 外部表 ,如下所示:

CREATE TABLE WORKING_HOURS_EXT
( employee_id       NUMBER(8), 
  project_id        VARCHAR2(20),
  Ename        VARCHAR2(25), 
  Durations         VARCHAR2(25)
) 
ORGANIZATION EXTERNAL 
( 
  TYPE ORACLE_LOADER 
  DEFAULT DIRECTORY xtern_data_dir 
  ACCESS PARAMETERS 
  ( 
    records delimited by newline 
    fields terminated by ';'  
  ) 
  LOCATION ('Project2.txt', 'Project1.txt') 
) 
PARALLEL;

但现在我的困惑是为什么 employee_id ###########而不是数字放在文本文件中?

SQL> set linesize 50
SQL> column employee_id format a5;
SQL> column project_id format a10;
SQL> column Ename format a10;
SQL> column Durations format a10;
SQL> select * from WORKING_HOURS_EXT;

EMPLOYEE_ID PROJECT_ID ENAME      DURATIONS
----------- ---------- ---------- ----------
 ########## 447        John       35
 ########## 447        John       45
 ########## 447        John       51
 ########## 445        John       55
 ########## 445        John       50
 ########## 445        John       65

6 rows selected.

SQL>

1 个答案:

答案 0 :(得分:3)

SQL*Plus User's Guide所述,数字格式应为:

column employee_id format 99999

...不要强制使用字母数字格式wirh A5