Как использовать условие ИЛИ в условии когда управляющего файла SQL Loader

Я пытаюсь использовать условие ИЛИ в условии когда в контрольном файле, это мой код в контрольном файле:

load data
INFILE 'router.txt'
INTO TABLE ROUTER_ATTLAS_TABLENAME  
APPEND
**WHEN ((1) = 'J' or  (1) = 'D2'  or  (1) = 'vJ' or  (1) = 'VJ' )**
FIELDS TERMINATED BY '\|'

Я получаю сообщение об ошибке:SQL*Loader-350: синтаксическая ошибка в строке 5.

Expecting ")", found "or".
WHEN ((1) = 'J' or  (1) = 'D2'  or  (1) = 'vJ' or  (1) = 'VJ' )

Пожалуйста, предложите мне правильный синтаксис.

2 ответа

Боюсь, что ИЛИ не разрешено в предложении WHEN: https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_control_file.htm

Вам просто нужно две команды "вставить" в одной таблице. Копирование...

INTO TABLE ROUTER_ATTLAS_TABLENAME
ПРИЛОЖИТЕ,КОГДА ((1) = 'J' или (1) = 'D2' или (1) = 'vJ' или (1) = 'VJ') ПОЛЯ, ПРЕКРАЩАЕМЫЕ '\|'

используя разные КОГДА к каждому желаемому.

Другие вопросы по тегам