Funkcja tabeli zewnętrznej Oracle umożliwia wykonanie dwóch różnych operacji:
- Przezroczyście wybieraj informacje z plików systemu operacyjnego z wartościami rozdzielanymi przecinkami (CSV) za pośrednictwem SQL, co pozwala na wykonywanie zadań, takich jak ładowanie tych plików do bazy danych.
- Twórz pliki zrzutów niezależne od platformy, których można używać do przesyłania danych. Możesz również utworzyć te pliki jako skompresowane i zaszyfrować je w celu wydajnego i bezpiecznego transportu danych
W tym przykładzie płaski plik ma nazwę ex.csv i znajduje się w katalogu D:Extbl. Zawiera następujące dane:5|2|0|0|12.04.2012|Połowa6|1|0|1|09.06.2013|Kwartał7|4|0|1|08.10.2013|Pełny8| 1|1|0|15.06.2013|QuarterNajpierw utwórz obiekt katalogu, który wskazuje lokalizację płaskiego pliku na dysku:SQL> utwórz katalog exa_dir jako 'D:Extbl';Następnie utwórz skrypt, który tworzy zewnętrzną tabelę który będzie odwoływał się do płaskiego pliku:utwórz tabelę exadata_et(exa_id NUMBER,machine_count NUMBER,hide_flag NUMBER,oracle NUMBER,ship_date DATE,rack_type VARCHAR2(32))organizacja zewnętrzna (typ oracle_loaderdefault katalog exa_diraccess parametry (rekordy oddzielone polami nowej linii zakończonymi przez '|) brakujące wartości pól to null(exa_id,machine_count,hide_flag,oracle,ship_date char data_format maska_daty "mm/dd/rrrr",typ_rack))lokalizacja ('ex.csv'))limit odrzuceń nieograniczona;Tworzymy zewnętrzną tabelę o nazwie EXADATA_ET po wykonaniu tego skryptu. Teraz użyj SQL*Plus, aby wyświetlić zawartość zwykłego pliku:SQL> wybierz * z exadata_et;EXA_ID MACHINE_COUNT HIDE_FLAG ORACLE SHIP_DATE RACK_TYPE---------- ------------ - ---------- ---------- ---------- --------- -5 2 0 0 04-DEC-11 Połowa6 1 0 1 06-SEP-12 Kwartał7 4 0 1 10-SIE-12 Pełny8 1 1 0 15-CZE-12 Kwartał