Đó 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.