Khi bạn muốn đánh giá hiệu suất của hệ thống và cần một lượng dữ liệu lớn trong cơ sở dữ liệu, có một cách hiệu quả để chèn nhiều dữ liệu vào bảng là sử dụng vòng lặp `for` kết hợp với câu lệnh `INSERT`. Điều này giúp thực hiện việc chèn dữ liệu nhanh chóng.
PostgreSQL hỗ trợ sử dụng vòng lặp for với cú pháp nhứ sau:
[ <<label>> ] FOR loop_counter IN [ REVERSE ] from.. to [ BY expression ] LOOP statements END LOOP [ label ];
VD: Để thực hiện insert 1000 bản ghi vào bảng products có cấu trúc như sau:
Thì câu lệnh sẽ như sau:
do $ begin for i in 1..1000 loop INSERT INTO products(product_id, product_name, category_id) VALUES (i, CONCAT('Sản phẩm ', i), 1); end loop; end; $;
Kết quả: 100 bản ghi đã được insert tới bảng products.
Dữ liệu trên bảng Products sau khi insert 1000 bản ghi có dạng:
Ngoài ra bạn có thể sử dụng for với câu lệnh UPDATE để cập nhật nhiều dữ liệu một lúc.