to_regproc()

将过程/函数名称转换为 OID 的函数

to_regproc() 是一个系统函数,用于将过程或函数名称转换为其 OID

to_regproc()PostgreSQL 9.4 中添加。

用法

to_regproc ( text ) → regproc

to_regproc() 等效于使用 regproc 转换,但如果未找到匹配的过程或函数,则返回 NULL 而不是引发 ERROR

在评估提供的过程或函数名称时,会考虑当前搜索路径。

请注意,to_regproc() 仅对过程或函数名称进行操作。如果存在名称相同但签名不同的函数,则返回 NULL。有关考虑相应过程或函数参数的等效函数,请参见 to_regprocedure()

更改历史记录

示例

to_regproc() 的基本用法示例

postgres=# SELECT to_regproc('to_regproc')::oid;
 to_regproc
------------
       3494
(1 row)

如果函数“重载”,即多个版本的函数具有相同的名称但参数形式不同,则返回 NULL

postgres=# CREATE FUNCTION foo()
             RETURNS INT
             LANGUAGE SQL
           AS $$
             SELECT 1;
           $$;
CREATE FUNCTION

postgres=# SELECT to_regproc('foo')::oid;
 to_regproc
------------
      17536
(1 row)

postgres=# CREATE FUNCTION foo(integer)
             RETURNS INT
             LANGUAGE SQL
           AS $$
             SELECT 1 + $1;
           $$;
CREATE FUNCTION

postgres=# SELECT to_regproc('foo')::oid;
 to_regproc
------------

(1 row)

分类

系统函数

另请参阅

to_regprocedure()

反馈

提交任何关于 "to_regproc()" 的评论、建议或更正 此处