首页 > 解决方案 > PostgreSQL如何检查函数中是否存在参数

问题描述

在 SQL Server 中,我可以验证给定存储过程中是否存在特定参数,如下所示:

SELECT [name]
FROM sys.parameters 
WHERE object_id = object_id('MyStoredProc')
AND [name]='@paramenter_im_checking'

PostgreSQL中是否有等价物?

标签: postgresql

解决方案


您可以在系统目录中查询pg_proc函数或过程的命名参数:

SELECT 'parameter_name' =ANY (proargnames)
FROM pg_catalog.pg_proc
WHERE proname = 'function_name';

这将返回TRUEor FALSE,具体取决于函数或过程是否具有该名称的参数。


推荐阅读