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

Chèn nhiều hàng vào Oracle

Theo quan điểm của hiệu suất, các truy vấn này giống hệt nhau.

UNION ALL sẽ không ảnh hưởng đến hiệu suất, vì Oracle ước tính UNION 'ed truy vấn chỉ khi nó cần, nó không lưu kết quả vào bộ nhớ cache trước.

SELECT cú pháp linh hoạt hơn theo nghĩa là bạn có thể dễ dàng quản lý SELECT truy vấn nếu bạn muốn thay đổi điều gì đó.

Ví dụ, truy vấn này:

insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
          select 8000,0,'Multi 8000',1 from dual
union all select 8001,0,'Multi 8001',1 from dual

có thể được viết lại thành

INSERT
INTO    pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
SELECT  7999 + level, 0, 'Multi ' || 7999 + level, 1
FROM    dual
CONNECT BY
        level <= 2

Bằng cách thay thế 2 với số lượng thích hợp, bạn có thể nhận được bất kỳ số hàng nào bạn muốn.

Trong trường hợp INSERT ALL , bạn sẽ phải sao chép mô tả bảng đích, mô tả này khó đọc hơn nếu bạn cần, chẳng hạn, 40 hàng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EBS 12.2.5 trở lên:Sai lệch nút trang đăng nhập

  2. Lời khuyên khi sử dụng Pivot Table trong Oracle

  3. Chọn hàng mới nhất cho mỗi nhóm từ oracle

  4. Cách thêm máy chủ quản lý trong R12.2

  5. Xác định vị trí của tệp tnsnames.ora có liên quan