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

Lỗi trong câu lệnh động PL / PGSQL (các hàm và toán tử có thể lấy nhiều nhất một đối số tập hợp)

Đó là bởi vì unnest &unnest_table của bạn cả hai đều trả về SETOF <sometype> và các toán tử operators can take at most one set argument , vì vậy f.ex .:

SELECT unnest(ARRAY['a', 'b', 'c']);

-- will return

unnest
------
"a"
"b"
"c"


SELECT unnest(ARRAY['a', 'b', 'c']) || 'd';

-- will return

?column?
--------
"ad"
"bd"
"cd"


SELECT unnest(ARRAY['a', 'b', 'c']) || 'd' || unnest(ARRAY['a', 'b', 'c']);

-- will return

ERROR: functions and operators can take at most one set argument
SQL state: 0A000

Chỉnh sửa :nhưng tôi rất nghi ngờ, bạn muốn tạo nhiều bảng có cùng tên - cũng là EXECUTE không chấp nhận nhiều hơn một hàng:

ERROR: query "..." returned more than one row
SQL state: 21000

Tôi nghĩ bạn nên sử dụng một cái gì đó như array_to_string() chức nă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. Làm thế nào để chọn id với nhóm ngày tối đa theo danh mục trong truy vấn Ecto với Phoenix?

  2. Cấp đặc quyền PostgreSQL không hiển thị

  3. Postgresql varchar có tính bằng độ dài ký tự unicode hoặc độ dài ký tự ASCII không?

  4. Thư viện số học được mã hóa đơn giản (SEAL) và con dấu ::Biến văn bản mã

  5. Xóa một ổ đĩa đã đặt tên bằng docker-compile?