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

Efektywnie wstawiaj duże ilości danych za pomocą SQL

Użyj zewnętrznych tabel Oracle.

Zobacz też np.

  • OraFaq na temat tabel zewnętrznych
  • Co Tom myśli o stołach zewnętrznych
  • Notatki René Nyffeneggera o zewnętrznych stołach

Prosty przykład, od którego powinieneś zacząć

Potrzebujesz pliku znajdującego się w katalogu serwera (zapoznaj się z obiektami katalogu):

SQL> select directory_path from all_directories where directory_name = 'JTEST';

DIRECTORY_PATH
--------------------------------------------------------------------------------
c:\data\jtest

SQL> !cat ~/.gvfs/jtest\ on\ 192.168.xxx.xxx/exttable-1.csv
1,a
3,bsdf
4,sdkfj
5,something
129,else

Utwórz tabelę zewnętrzną:

create table so13t (
  id number(4),
  data varchar2(20)
)
organization external (
  type oracle_loader
  default directory jtest /* jtest is an existing directory object */
  access parameters (
    records delimited by newline
    fields terminated by ','
    missing field values are null
  )
  location ('exttable-1.csv') /* the file located in jtest directory */
)
reject limit unlimited;

Teraz możesz używać wszystkich możliwości SQL aby uzyskać dostęp do danych:

SQL> select * from so13t order by data;

        ID DATA
---------- ------------------------------------------------------------
         1 a
         3 bsdf
       129 else
         4 sdkfj
         5 something


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MONTHS_BETWEEN() Funkcja w Oracle

  2. Limit czasu dla metody OracleDataReader.Read

  3. JDBC ResultSet:potrzebuję getDateTime, ale są tylko getDate i getTimeStamp

  4. ORA-22905 - podczas zapytania o typ tabeli za pomocą instrukcji SELECT

  5. Upuszczanie połączonych użytkowników w bazie danych Oracle