Как я могу сохранить значение выражения в управляющем файле sqlldr и загрузить его в несколько столбцов?
У меня проблемы с сохранением выражения для загрузки в два отдельных столбца.
У нас есть два значения - RECORD_ID и ITEM_NUMBER, которые оба требуют уникальных значений в строке.
Моим первым впечатлением было каким-то образом загрузить значение последовательности в ограничивающий заполнитель или что-то в этом роде, а затем использовать его в идентификаторе и номере записи, но мне трудно понять, как мне поступить.
Ниже приведен фрагмент моего текущего управляющего файла, который я использую:
...
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
FIELD1 BOUNDFILLER POSITION(1), --
...
FIELD79 BOUNDFILLER,
COLUMN_NAME EXPRESSION ":FIELD1",
ITEM_NUMBER EXPRESSION "???",
...
RECORD_ID "RECORD_ID_SEQ.NEXTVAL"
)
Я надеялся, что смогу сделать что-то вроде
TEMPVALUE BOUNDFILLER "RECORD_ID_SEQ.NEXTVAL"
но не нашли ничего похожего в природе.
1 ответ
Я полагаю, что-то подобное принадлежит триггеру BEFORE INSERT на столе.
CREATE OR REPLACE TRIGGER tablename_BI
BEFORE INSERT ON tablename
FOR EACH ROW
BEGIN
:new.record_id := RECORD_ID_SEQ.NEXTVAL;
END;