Postgresql说“架构不存在”

问题描述:

如何使此查询有效?Postgresql说“架构不存在”

我有功能top_movies_ceiling(3)

CREATE OR REPLACE FUNCTION top_movies_ceiling(n_top integer) -- n_top dos mais vendidos 
RETURNS SETOF inventory AS $$ 
BEGIN 
RETURN QUERY 
SELECT * 
FROM inventory 
ORDER BY sales DESC 
LIMIT n_top; 
END; 
$$LANGUAGE plpgsql; 

返回:

prod_id|quan_in_stock|sales 

现在,当我运行查询:

SELECT products.price 
FROM products 
WHERE products.prod_id = prod_id.top_movies_ceiling(3); 

我得到的错误:schema "prod_id" does not exist

我希望你能帮助我! 谢谢!

+0

为什么使用'prod_id.top_movies_ceilin'?.. –

+0

因为我已经打开了一个Cursor,并且我已经将它从与“prod_id”相同的类型中获取到一个数字变量中,用于保存它。 –

一个疯狂的猜测 - 你试图做什么?

SELECT products.price 
FROM products 
JOIN (select * from top_movies_ceiling(3)) top_m on top_m.prod_id = products.prod_id 
; 

的错误是在:

prod_id.top_movies_ceiling(3)

意味着:从模式PROD_ID功能top_movies_ceiling(INT)。

请输入top_movies_ceiling()的CREATE FUNCTION,以便更好地理解您想要的内容。

+0

完成。但我已经有了答案!非常感谢你!! –