SELECT
relname
FROM
pg_class
WHERE
relkind = 'r'
AND relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'a' )
ORDER BY
relname;
通过以上代码查出a模式下所有表的表名
怎么将这个结果作为参数循环调用函数select table_file_access_info('b', 'c')
a查询的结果返回单列多行 qqq,www,eee,rrr
如何循环调用函数
select table_file_access_info('b', 'qqq');select table_file_access_info('b', 'www');select table_file_access_info('b', 'eee');select table_file_access_info('b', 'rrr')
您可以使用一个循环来逐一遍历查询结果,并且将每一行的结果传递给函数 table_file_access_info
。以下是一个基本的示例:
DO $$
DECLARE
r record;
BEGIN
FOR r IN
SELECT relname
FROM pg_class
WHERE relkind = 'r'
AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'a' )
ORDER BY relname
LOOP
SELECT table_file_access_info('b', r.relname);
END LOOP;
END $$;
在上述代码中,我们使用了 FOR r IN
来循环遍历查询结果列表,并使用 LOOP
和普通的 SELECT
语句调用 table_file_access_info
函数。
注意,这只是一个基本的示例,具体实现可能需要进行一些修改以适应您的具体情况。另外,如果您需要在代码中添加其他逻辑,请确保您了解所有涉及到的操作的含义和影响。