gpt4 book ai didi

sql - 函数调用中的 Postgresql 嵌套 SELECT 语句

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

我目前按照本手册页中的描述在 Postgresql 数据库中设置全文搜索:http://www.postgresql.org/docs/9.0/static/textsearch-tables.html

目前我得出这样的结论:

CREATE FUNCTION fts_update() RETURNS trigger AS $$
begin
new.tsv :=
to_tsvector('pg_catalog.english', coalesce(new.title,'')) ||
to_tsvector('pg_catalog.english', coalesce(new.description,'')) ||
to_tsvector('pg_catalog.english',
SELECT array_to_string(array_accum(name), ' ') FROM agencies where id = new.agency_id
);
return new;
end
$$ LANGUAGE plpgsql;
CREATE TRIGGER ftsupdate_trigger BEFORE INSERT OR UPDATE ON camps FOR EACH ROW EXECUTE PROCEDURE fts_update()"

这里我需要从另一个表中添加一些字段到索引,但是 Postgresql 不允许我:

PG::Error: ERROR:  syntax error at or near "SELECT"
LINE 9: SELECT array_to_string(array_accum(name), ' ') FROM ...

有什么好的解决办法吗?

最佳答案

我认为您需要做的就是将选择括在括号中,例如

 select to_tsvector('english',(select array_to_string(array['one','two','three'],' ')));

关于sql - 函数调用中的 Postgresql 嵌套 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621560/

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