我有一个 Postgres 函数定义如下:
CREATE OR REPLACE FUNCTION my_test_function(query_since timestamp) RETURNS TABLE () ...
我可以在不删除函数的情况下将参数名称
query_since
更新为 query_from
吗?
的文档清楚地表明我无法使用此SQL命令更改参数类型。虽然它没有具体提及参数名称,但我怀疑同样的限制也适用。
检查手册:事实上,它确实在 Description 部分提到了对参数名称的相同限制:
要替换现有函数的当前定义,请使用
。 无法更改名称或 这样函数的参数类型(如果你尝试过,你会 实际上是在创建一个新的、独特的功能)。CREATE OR REPLACE FUNCTION
我的粗体强调。
无论哪种方式,由于您可以在 PL/pgSQL 或 SQL 函数中引用函数体内的参数(参数)名称,因此简单地重命名通常不是一个明智的选择。