【发布时间】:2022-03-29 15:13:49
【问题描述】:
我在 PostgreSQL 中编写了一个 SQL 函数,可以访问另一个表中的数据。在运行该功能时,我收到以下错误
relation table2 does not exist postgres
这是我正在创建的功能
CREATE OR REPLACE FUNCTION func(tbl1 table1)
RETURNS TABLE(a int, b text, c int, d text) AS $$
SELECT a, b, c, d
FROM table2
WHERE id = tbl1.user_id;
$$
language sql stable;
以防万一我将 table2 更改为 myschema.table2
我该怎么办?我不想将架构添加到查询中。我希望它采用函数所在的任何模式。
【问题讨论】:
-
您是否检查过表 2 是否存在?
-
是的。确实如此。已在编辑器中检查并运行
-
在那种情况下,我得到了坚果。
-
在执行对该函数的调用之前使用 SET search_path,或将其设为每个函数的固定设置
标签: sql postgresql function postgraphile