【发布时间】:2016-01-25 06:58:06
【问题描述】:
如何在 postgresql 中创建一个以表名作为参数的函数,该函数返回作为查询“select * from TABLE”的参数传递的表的结果集。这里的 TABLE 是传递给函数的参数。
【问题讨论】:
-
查看手册中的示例:postgresql.org/docs/current/static/…
-
你能解释一下你真正想要做什么吗?您描述的类型的函数将无用且使用起来很复杂。
-
@Patrick 函数名为 selectall(tablename)。并且函数执行“select * from tablename”,然后返回结果集。
-
但是为什么
SELECT * FROM selectall(tablename) AS t(columns...)而不是简单的SELECT * FROM tablename?除非您在函数中进行其他处理,否则它是无用的。告诉我们那个处理是什么,你会得到一个很好的答案。 -
@Patrick 如果我将函数创建为 selectall(),则无需为每个表指定每次为“select * from”。所以,如果我创建一个这样的表,那么很容易,只需将表名作为参数传递,它只需调用“select selectall(student);”即可返回表的结果集
标签: postgresql plpgsql stored-functions