Я просто хочу разместить файл Excel где-нибудь на моем сервере БД и использовать запрос для отображения всех записей этого файла Excel в выводе запроса. Файл может иметь любую длину, любое количество строк и столбцов.
Как уже упоминалось в моих комментариях, для этого вам потребуется создать таблицу External
. См. Ниже:
Содержимое файла My CSV
(Tst.csv):
Создан каталог CSV_FILES
и выполнен входкак SYS
и предоставлено разрешение на чтение и запись.
GRANT READ,WRITE ON DIRECTORY CSV_FILES TO scott;
Создана External
таблица, как показано ниже:
CREATE TABLE TST_TABLE
(
ACCT_NO VARCHAR2(7),
LOAN_AMOUNT NUMBER,
PRODUCT_TYPE VARCHAR2(3)
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY CSV_FILES
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
skip 1
LOGFILE CSV_FILES:'tstlog.log'
BADFILE CSV_FILES:'tstbad.bad'
FIELDS TERMINATED BY ","
(
ACCT_NO ,
LOAN_AMOUNT ,
PRODUCT_TYPE
)
)
LOCATION ('Tst.csv'))
reject limit unlimited;
Запрос к таблице всех записей как:
SQL> select * from TST_TABLE;
ACCT_NO LOAN_AMOUNT PRO
------- ----------- ---
AFSGSGT 34454 XXX
BSDFFGS 45645 YYY
SFSDFDS 56453 ZZZ
Запрос на выборку выборочных записей с использованием условия фильтра:
SQL> select * from TST_TABLE where product_type = 'XXX';
ACCT_NO LOAN_AMOUNT PRO
------- ----------- ---
AFSGSGT 34454 XXX