gpt4 book ai didi

postgresql - Postgres 动态 COPY 语句

转载 作者:行者123 更新时间:2023-11-29 12:54:48 24 4
gpt4 key购买 nike

我正在尝试运行一个查询,该查询对数组的每个元素执行 foreach,然后将其复制到具有自定义命名文件的目录中。这是我目前的代码:

DO
$do$
declare
x varchar;
y varchar;
arr varchar[] := array['item1','item2'];
begin
foreach x in array arr
loop
y := concat('C:\Outputs\output_' , x , '.csv');
copy (select * from pdtable where pdtable.area = x) to y With CSV;
end loop;
end
$do$

然而,这会在 to y 语句的复制语句中遇到错误。有替代方法吗?

最佳答案

https://www.postgresql.org/docs/current/static/functions-string.html

DO
$do$
declare
x varchar;
y varchar;
arr varchar[] := array['item1','item2'];
begin
foreach x in array arr
loop
y := concat('C:\Outputs\output_' , x , '.csv');
execute format('copy (select * from pdtable where pdtable.area = %L) to %L With CSV',x,y);
end loop;
end
$do$

关于postgresql - Postgres 动态 COPY 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46201685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com