我的问题本质上相当简单;我正在尝试在postgresql中编写一个简短但很好的函数,我可以在其中传递一个模式名称,它将返回一个与该模式关联的表的列表。
例如,我想将这个sql放在一个函数中,传递给schemaname然后在...中执行它。
SELECT SCHEMANAME, TABLENAME
FROM PG_TABLES
WHERE SCHEMANAME = variable being passed in the function ()
非常感谢您提供的最简单的答案。
答案 0 :(得分:1)
CREATE OR REPLACE FUNCTION get_tables(ip_schemaname name) RETURNS TABLE(schemaname NAME, tablename name)
AS
$$
SELECT schemaname, tablename
FROM pg_tables
WHERE schemaname = ip_schemaname;
$$
LANGUAGE SQL;
SELECT * FROM get_tables('public');