由于我们使用 sp_helptext [procedure name] 在 Sqlserver 中获取 SP 脚本,因此我需要可以用来从 postgresql 检索函数脚本的命令。
请帮忙....
由于我们使用 sp_helptext [procedure name] 在 Sqlserver 中获取 SP 脚本,因此我需要可以用来从 postgresql 检索函数脚本的命令。
请帮忙....
如果您使用的是 psql (命令行界面),则可以\df+
按照 tobixen 已经说明的方式使用(并且在手册中有明确记录)。
如果您需要在 SQL 查询中执行此操作,请查看系统信息功能。你正在寻找pg_get_functiondef()
select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';
如果您正在处理具有不同数量参数的重载函数,则需要在名称中包含参数签名:
select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);
将检索函数的重载版本foo
(一个版本具有单个 int 参数,另一个版本具有两个 int 参数)。
在 psql 命令行中是\df+ foo
,不是吗?
最终,select prosrc from pg_proc where proname='foo';