Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chèn một lượng lớn dữ liệu hiệu quả với SQL

Sử dụng bảng bên ngoài Oracle.

Xem thêm, ví dụ:

  • OraFaq về các bảng bên ngoài
  • Tom nghĩ gì về các bảng bên ngoài
  • Ghi chú của René Nyffenegger về các bảng bên ngoài

Một ví dụ đơn giản giúp bạn bắt đầu

Bạn cần một tệp nằm trong thư mục máy chủ (làm quen với các đối tượng thư mục):

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

Tạo một bảng bên ngoài:

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;

Giờ đây, bạn có thể sử dụng tất cả các quyền của SQL để truy cập dữ liệu:

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. Làm thế nào để mã hóa mật khẩu trong Oracle?

  2. SQL để tìm các từ viết hoa từ một cột

  3. Tình huống nào khiến các gói Oracle trở nên không hợp lệ?

  4. Không thể tìm thấy mô-đun Python cx_Oracle mô-đun

  5. Các ràng buộc khóa ngoại có ảnh hưởng đến việc chuyển đổi truy vấn trong Oracle không?