0

我有两个文本文件如下:

项目2.txt

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

项目1.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>
4

1 回答 1

3

SQL*Plus User's Guide中所述,数字的格式应如下:

column employee_id format 99999

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

于 2013-01-27T19:00:49.973 回答