如何使用 SQL Loader 加载列的常量值?

问题描述 投票:0回答:1

我正在尝试使用 sqlloader 从 unix 框中加载默认值,而我的文件仅包含一列。

下面是我的表格结构:

CREATE TABLE DATA_LOAD(
        SEQUENCE_NUMBER     NUMBER(15)
                            CONSTRAINT SEQUENCE_NUMBER NOT NULL,
        Account           NUMBER(12)
                            CONSTRAINT Account  NOT NULL,
        SYS_CREATION_DATE         DATE  NOT NULL,
        SYS_UPDATE_DATE          DATE   ,
        OPERATOR_ID  NUMBER(9)  ,
        APP_ID          CHAR(6),
        SERVICE_CODE         CHAR(5) NOT NULL,
        UPDATE_STAMP  NUMBER(4),
        ACCOUNT_TYPE        CHAR(1),
        ACCOUNT_SUB_TYPE    CHAR(1),
        STATUS              VARCHAR2(2),
        OPER_IND     CHAR(1),
        ERROR_REASON        VARCHAR2(240)
)

文件将仅包含:

123476810

我正在尝试加载

LOAD DATA
INFILE '$INPUT_FILE'
INTO TABLE DATA_LOAD
FIELDS TERMINATED BY '$'
TRAILING NULLCOLS
(
Account,
SEQUENCE_NUMBER default 2,
STATUS default R,
OPER_IND     default N,
SERVICE_CODE  default abcde,     
SYS_CREATION_DATE default to_date(sysdate,'DD-MON-YY')
)

出现此错误:

SQL*Loader-350: Syntax error at line 9.
Expecting "," or ")", found "default".
                   SEQUENCE_NUMBER default 2,
shell unix default default-value sql-loader
1个回答
3
投票

你的语法似乎是错误的。你需要使用 CONSTANT

OPER_IND     CONSTANT "N"
© www.soinside.com 2019 - 2024. All rights reserved.