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

機能は存在しませんが、本当に存在すると思います

    まあ、何かが奇妙です。私がした:

    [email protected]@[local] =# create function abuse_resolve(inout __abuse_id bigint,
                                   out __msg text) returns record language plpgsql as
                                   $$ begin __msg = 'ok'; end; $$;
    CREATE FUNCTION
    [email protected]@[local] =# \df abuse_resolve
    List of functions
    -[ RECORD 1 ]-------+----------------------------------------
    Schema              | so9679418
    Name                | abuse_resolve
    Result data type    | record
    Argument data types | INOUT __abuse_id bigint, OUT __msg text
    Type                | normal
    
    [email protected]@[local] =# select abuse_resolve('30'::bigint);
    -[ RECORD 1 ]-+--------
    abuse_resolve | (30,ok)
    

    このデータベースで他に問題がありましたか?ダンプ/復元を使用してコピーし、新しいコピーでこれを試すことはできますか? 「パブリック」スキーマで関数名を明示的に修飾することは役立ちますか?どのバージョンのPostgreSQLを使用していますか?

    更新:SQL関数 また、以下を使用しても問題なく機能しました:

    create function abuse_resolve(inout __abuse_id bigint, out __msg text)
      language sql as $$ select $1, 'ok'::text $$;
    


    1. MySql-主キーはデフォルトで一意ですか?

    2. テーブルの言語翻訳

    3. 動的SQLクエリでテーブル名を設定するにはどうすればよいですか?

    4. Oracleでの動的SQLとストアドプロシージャのパフォーマンス