Oracle
 sql >> база данни >  >> RDS >> Oracle

Вмъкнете ефективно голямо количество данни с SQL

Използвайте външни таблици на Oracle.

Вижте също напр.

  • OraFaq за външни таблици
  • Какво мисли Том за външните маси
  • Бележки на Рене Нифенегер за външни маси

Прост пример, с който трябва да започнете

Имате нужда от файл, разположен в директория на сървъра (запознайте се с обектите на директорията):

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

Създайте външна таблица:

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;

Сега можете да използвате всички възможности на SQL за достъп до данните:

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. GROUP BY / объркване на агрегатната функция в SQL

  2. Как да проверя дали стойността на DataReader не е нула?

  3. Грешка при влизане в Sqlplus при използване на bash променливи:SP2-0306:Невалидна опция

  4. Грешка:PLS-00428:Очаква се клауза into в този оператор за избор

  5. хибернация диалект за оракул 12c