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

Ví dụ về bảng bên ngoài Oracle

Một cách sử dụng phổ biến của bảng bên ngoài là lựa chọn dữ liệu từ tệp OS CSV (phẳng) thông qua SQL * Plus. Khi sử dụng bảng bên ngoài ở chế độ này, bạn phải chỉ định loại dữ liệu trong tệp và cách tổ chức dữ liệu. Bạn có thể chọn từ một bảng bên ngoài nhưng không được phép sửa đổi nội dung (không chèn, cập nhật hoặc xóa).

Tính năng bảng bên ngoài của Oracle cho phép bạn thực hiện hai hoạt động riêng biệt:

  • Rõ ràng chọn thông tin từ các tệp giá trị được phân tách bằng dấu phẩy (CSV) trong hệ điều hành thông qua SQL, cho phép bạn thực hiện các tác vụ như tải các tệp này vào cơ sở dữ liệu.
  • Tạo các tệp kết xuất độc lập với nền tảng có thể được sử dụng để truyền dữ liệu. Bạn cũng có thể tạo các tệp này dưới dạng nén và mã hóa chúng để vận chuyển dữ liệu hiệu quả và an toàn

Trong ví dụ này, tệp phẳng được đặt tên là ex.csv và nằm trong thư mục D:\ Extbl. Nó chứa các dữ liệu sau: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 | Quý Đầu tiên, tạo một đối tượng thư mục trỏ đến vị trí của tệp phẳng trên đĩa:SQL> tạo thư mục exa_dir là 'D:\ Extbl'; Sau đó, tạo tập lệnh tạo bảng bên ngoài sẽ tham chiếu đến tệp phẳng:tạo bảng exadata_et (exa_id NUMBER, machine_count NUMBER, hide_flag NUMBER, oracle NUMBER, ship_date DATE, rack_type VARCHAR2 (32)) tổ chức bên ngoài (loại oracle_loaderdefault thư mục tham số exa_diraccess (các bản ghi được phân tách bởi newlinefields kết thúc bằng '|' các giá trị trường bị thiếu là null (exa_id, machine_count, hide_flag, oracle, ship_date char date_format date mask "mm / dd / yyyy", rack_type)) location ('ex.csv')) từ chối giới hạn không giới hạn; một bảng bên ngoài có tên EXADATA_ET được tạo khi bạn thực thi tập lệnh này. Bây giờ, hãy sử dụng SQL * Plus để xem nội dung của tệp phẳng:SQL> select * from exadata_et; EXA_ID MACHINE_COUNT HIDE_FLAG ORACLE SHIP_DATE RACK_TYPE ------------- - ---------- ---------- ------------------ -5 2 0 0 04-DEC-11 Hiệp 6 1 0 1 06-SEP-12 Phần 7 4 0 1 10-AUG-12 Toàn 8 1 1 0 15-Tháng 6-12 Phần
  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 để sử dụng sql * plus trong tập lệnh lệnh Windows để điều khiển luồng?

  2. Oracle Sequence tiếp theo đang nhảy số qua lại

  3. Oracle 12.2.0.1 sắp ra mắt vào năm 2016

  4. Hàm COLLATION () trong Oracle

  5. Tại sao tôi không thể nhập ngày này vào bảng bằng sql?