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

Postgres sql関数で名前付きパラメーターを参照するにはどうすればよいですか?

    改訂:コメントで指摘されているように、この回答は2012年の初めに書かれた時点では正確でしたが、名前付きパラメータは2012年後半にリリースされたv9.2以降サポートされています。

    関数が言語SQL 。 language plpgsqlとして定義されているストアドプロシージャで、名前でパラメータを使用できます。 。

    したがって、$ Xを使用して関数argsを参照する必要があります。ここで、Xは関数の引数リストの序数位置です(1から始まります)。

    CREATE OR REPLACE FUNCTION fn_name (
      n VARCHAR(32) = NULL,
      OUT name varchar(32),
      OUT description varchar(64) )
    RETURNS setof record
    AS 
    $$
        SELECT u.name
            , u.description
        FROM table_a u
        WHERE u.name = COALESCE($1, u.name);
    $$
    LANGUAGE sql;
    


    1. アプリケーション層とデータベース層の間の認証に関する意見

    2. RSSフィードPHP/MySQL

    3. MySql-異なるサーバーのテーブルで大文字と小文字を区別する問題

    4. データベースSQLoracleからblobを保存および取得するときにエラーが発生しました