sql >> Databáze >  >> RDS >> Oracle

Vkládejte velké množství dat efektivně pomocí SQL

Použijte externí tabulky Oracle.

Viz také např.

  • OraFaq o externích tabulkách
  • Co si Tom myslí o externích tabulkách
  • Poznámky Reného Nyffeneggera o externích tabulkách

Jednoduchý příklad, který by vám měl pomoci začít

Potřebujete soubor umístěný v adresáři serveru (seznamte se s adresářovými objekty):

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

Vytvořte externí tabulku:

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;

Nyní můžete využít všechny schopnosti SQL pro přístup k datům:

SQL> select * from so13t order by data;

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


  1. Vyberte náhodný řádek z tabulky PostgreSQL s váženými pravděpodobnostmi řádků

  2. SQL Server JSON_Modify, jak vše aktualizovat?

  3. Jak vyřešit chybějící výraz ORA-00936

  4. Jaký datový typ MySQL použít pro ukládání booleovských hodnot