sql >> データベース >  >> RDS >> PostgreSQL

Postgresの別の関数へのパラメータとしての関数

    各関数/プロシージャはpg_procにエントリを持っている必要があるため、プロシージャを識別するために主キーを使用できます。これにより、名前は同じでパラメータの数やパラメータの種類が異なるプロシージャの問題も解消されます。

    これの省略形は、タイプregprocです。 およびregprocedure 取り扱いを容易にするために関連するキャストを使用します。 マニュアル を検索します これらのために。

    関数を識別して渡すことは問題ありません:

    select 'pg_database_size(oid)'::regprocedure; -- create "reference"
         regprocedure      
    -----------------------
     pg_database_size(oid)
    

    regprocedureを使用する パラメータタイプとして。

    私がまだ理解していなかった問題は、実際にそのようなものを便利な方法で呼び出す方法です。



    1. 郵便番号の指定された距離内にあるすべての郵便番号を検索します

    2. PostgreSQLの日付言語をリクエストから変更する

    3. サブクエリ内の複数の結果を1つのコンマ区切り値に結合します

    4. PostgreSQLでのNull値のインデックス作成