postgresql - 如何将字符值传递给函数以便在其中执行单例选择?

标签 postgresql

我的问题本质上相当简单;我正在尝试在 postgresql 中编写一个简短但有趣的函数,我可以在其中传递一个架构名称,它会返回与该架构关联的表列表。

例如,我想将此 sql 放在一个函数中,将模式名称传递给它,然后在...中执行它

SELECT SCHEMANAME, TABLENAME

FROM PG_TABLES

WHERE SCHEMANAME = variable being passed in the function ()

如果您能提供最简单的答案,我们将不胜感激。

最佳答案

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');

关于postgresql - 如何将字符值传递给函数以便在其中执行单例选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18175896/

相关文章:

sql - 在使用 EXECUTE 和在 postgres 中重写类似查询之间进行选择

sql - 获取数组元素空格分隔而不是逗号分隔

PostgreSQL:在不同模式中连接两个表的性能损失

SQL 选择多边形内的要素

database - 为什么表 pg_stat_user_tables 是空白的?

sql - 基于索引名称而不是表(列)创建外键

sql - 如何将 Unix 纪元转换为时间戳

postgresql - 看不到 Simple.Data 跟踪消息

sql - 如何 md5 所有列而不考虑类型

node.js - 从连接填充数据