gpt4 book ai didi

SQL 错误 [42601] : Error: syntax error at or near "0"

转载 作者:行者123 更新时间:2023-11-29 13:13:06 26 4
gpt4 key购买 nike

我不明白我是如何从 select 中创建一个数组的,我有一个错误

SQL Error[42601]: Error: syntax error at or near "0"", Error occurred on dblink connection named "unnamed": could not execute query.

create temporary table house_address as
(SELECT full_address
FROM dblink('db_d',
'drop table if exists _x17092018;
create temporary table _x17092018 (
guid character varying,
full_address character varying,
address_guid character varying
);
do $$
declare
guids_list character varying[]
:= ''{(''' ||
(SELECT STRING_AGG(DISTINCT guid, ''', ''')
FROM lc) ||
''')}'';
r character varying;
begin
foreach r in array guids_list
loop
insert into _x17092018
select r, t.*
FROM sm.func_by_houseid(r, TRUE, ''db'') as t;
end loop;
END$$;'
) AS addr(full_address TEXT)
);

最佳答案

错误必须来自guids_list的初始化。

按照它的写法,它会像这样出现

{[guid1', 'guid ' containing spaces and quote', 'guid3]}

这显然不是您想要的。此外,正如我试图演示的那样,它对 SQL 注入(inject)是开放的。

你可以使用类似的东西

'guids_list character varying[] := ' ||
(SELECT quote_literal(array_agg(DISTINCT guid)) FROM lc) || ';'

关于SQL 错误 [42601] : Error: syntax error at or near "0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52379591/

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