sql >> Database >  >> RDS >> Oracle

Voorbeeld externe tabel van Oracle

Een veelgebruikt gebruik van een externe tabel is de selectie van gegevens uit een OS CSV-bestand (plat) via SQL *Plus. Wanneer u in deze modus een externe tabel gebruikt, moet u het type gegevens in het bestand specificeren en hoe de gegevens zijn georganiseerd. U kunt kiezen uit een externe tabel, maar u mag de inhoud niet wijzigen (geen invoegingen, updates of verwijderingen).

Met de externe tabelfunctie van Oracle kunt u twee verschillende bewerkingen uitvoeren:

  • Selecteer transparant informatie uit OS-bestanden met door komma's gescheiden waarden (CSV) via SQL, zodat u taken kunt uitvoeren zoals het laden van deze bestanden in de database.
  • Maak platformonafhankelijke dumpbestanden die kunnen worden gebruikt om gegevens over te dragen. U kunt deze bestanden ook gecomprimeerd maken en ze versleutelen voor efficiënt en veilig gegevenstransport

In dit voorbeeld heet het platte bestand ex.csv en bevindt het zich in de directory D:Extbl. Het bevat de volgende gegevens:5|2|0|0|12/04/2012|Half6|1|0|1|09/06/2013|Quarter7|4|0|1|08/10/2013|Full8| 1|1|0|15/06/2013|QuarterMaak eerst een directory-object dat verwijst naar de locatie van het platte bestand op schijf:SQL> maak directory exa_dir aan als 'D:Extbl';Maak vervolgens een script dat de externe tabel maakt dat zal verwijzen naar het platte bestand:tabel aanmaken exadata_et(exa_id NUMBER,machine_count NUMBER,hide_flag NUMBER,oracle NUMBER,ship_date DATE,rack_type VARCHAR2(32))organisatie extern (type oracle_loaderdefault directory exa_diraccess parameters(records gescheiden door '|'velden afgesloten door '|' ontbrekende veldwaarden zijn null(exa_id,machine_count,hide_flag,oracle,ship_date char date_format date mask "mm/dd/yyyy",rack_type))location ('ex.csv'))weigerlimiet onbeperkt; er wordt een externe tabel met de naam EXADATA_ET gemaakt wanneer u dit script uitvoert. Gebruik nu SQL*Plus om de inhoud van het platte bestand te bekijken:SQL> select * from exadata_et;EXA_ID MACHINE_COUNT HIDE_FLAG ORACLE SHIP_DATE RACK_TYPE---------- ------------ - ---------- ---------- ---------- ------------------- -5 2 0 0 04-DEC-11 Half6 1 0 1 06-SEP-12 Kwartaal7 4 0 1 10-AUG-12 Volledig8 1 1 0 15-JUN-12 Kwartaal
  1. 4 manieren om dubbele rijen te selecteren in MariaDB

  2. Het standaarddatabase-e-mailprofiel voor een gebruiker in SQL Server (T-SQL) wijzigen

  3. Een bestaande kolom wijzigen in een berekende kolom in SQL Server (T-SQL-voorbeeld)

  4. Hoe de leeftijd vanaf de geboortedatum in SQL te berekenen