Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przykład tabeli zewnętrznej Oracle

Jednym z typowych zastosowań tabeli zewnętrznej jest wybór danych z pliku OS CSV (płaski) za pomocą SQL *Plus. Korzystając z tabeli zewnętrznej w tym trybie, należy określić typ danych w pliku oraz sposób ich organizacji. Możesz wybrać z tabeli zewnętrznej, ale nie możesz modyfikować zawartości (bez wstawiania, aktualizacji lub usuwania).

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ł
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wykonać natywny skrypt SQL w JPA/Hibernacji?

  2. Oracle Sequence nie generuje liczby ciągłej

  3. oracle 12c - wybierz ciąg po ostatnim wystąpieniu znaku

  4. Wartości oddzielone przecinkami w Oracle

  5. Jaki jest maksymalny rozmiar VARCHAR2 w PL/SQL i SQL?