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

Postgres Sao chép từ Biến với dữ liệu CSV

Điều đó không thể xảy ra với COPY của SQL yêu cầu. COPY chỉ sao chép từ một tệp hoặc STDIN .

Bạn có thể ghi nội dung của biến vào một tệp hoặc chuyển nó qua STDIN. Chỉ có ý nghĩa đối với nhiều hơn một vài hàng.

Tôi nghĩ rằng tôi đã hiểu sai câu hỏi của bạn trước khi cập nhật, bạn có thể không cần điều này:

Đường dẫn tệp không thể được trao đổi giống như các mục dữ liệu khác và bạn không thể sử dụng một câu lệnh đã chuẩn bị cho điều đó. Xây dựng toàn bộ trước khi thực thi hoặc sử dụng SQL động với chức năng phía máy chủ như:

CREATE OR REPLACE FUNCTION f_cp(_file text)
  RETURNS void AS
$BODY$
BEGIN
EXECUTE format($$COPY zip_codes FROM %L DELIMITER ',' CSV$$, $1);
END
$BODY$
  LANGUAGE plpgsql;

Gọi:

SELECT f_cp('/var/lib/postgres/sync/myfile.csv')

format() yêu cầu Postgres 9.1 trở lê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. Tổng hợp một cột duy nhất trong truy vấn với nhiều cột

  2. Làm cách nào để cập nhật các hàng đã chọn với các giá trị từ tệp CSV trong Postgres?

  3. Nâng cấp tự động gần như bằng không thời gian ngừng hoạt động của các cụm PostgreSQL trong đám mây (Phần I)

  4. Thêm khóa ngoại vào mô hình đường ray

  5. postgres - trong (danh sách) - cột không tồn tại