PostgreSQL如何向函数传递超过100个参数

10

我正在编写一个在PostgreSQL中的函数,它需要拥有超过100个参数。当我尝试运行语句时,服务器会报错,说函数不能拥有超过100个参数。 那么我想知道是否有任何方法可以覆盖这个限制,如何操作呢? 提前感谢你的帮助。


6
这是一个警示信号,提示您的函数设计存在问题。 - Burhan Khalid
我同意需要重新审视我的函数设计,但问题仍然存在,即PostgreSQL本身是否强制限制最多100个参数?如果是,那么为什么是100个?如果不是,那么我是否可以将其更改为一些较大的数字,例如120?这在技术上可行吗? - Anirudha Kasralikar
答案是是的。想一想。如果你这样做,就是忽略了问题,并请求解决方案的帮助。这永远不会是好事。 - Burhan Khalid
2
函数允许100个参数,不被视为过多,但是101个就被认为是过多了。我不理解这一点。此外,PostgreSQL应该允许在运行时更改此设置,但目前必须重新编译服务器才能生效。 - Anirudha Kasralikar
@user2541859:我完全同意。支持99个参数,而100个则是“红旗”……??? - Michael M
显示剩余3条评论
2个回答

7

你可以将数组作为参数使用。


这很好,因为你只需传递一个数组参数,而该数组中可以有超过100个值。没有限制。 - Anirudha Kasralikar
5
你能举一个例子吗? - Sherzod

0
解决方案:您可以传递一个具有多列的记录,或者多个这样的记录。
提示:您还可以使用来自数据库的现有表的类型记录创建新的表类型,以实现严格类型编码的所有优势。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接