5

sp_helptext [プロシージャ名] を使用して Sqlserver で SP スクリプトを取得しているため、postgresql から関数スクリプトを取得するために使用できるコマンドが必要です。

助けてください....

4

2 に答える 2

9

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 パラメーターを持ち、もう一方のバージョンは 2 つの int パラメーターを持ちます)。

于 2012-07-03T07:21:08.907 に答える
3

psql コマンドラインで\df+ fooは ですね。

最終的、select prosrc from pg_proc where proname='foo';

于 2012-07-03T07:14:00.520 に答える