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

jpaのネイティブクエリから引数として複合型を使用して関数を呼び出す

    配列を渡すリテラル 配列コンストラクターの代わりに。値は、文字列リテラル<として渡すことができます。 / a> 、その後、Postgresによって適切なタイプに強制変換されます:

    SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
    

    前提条件:関数が「オーバーロード」されていないため、関数の型の解決が型なしの入力で明確になります。

    関連:

    配列要素が100未満の場合、VARIADIC 関数は引数の受け渡しを簡素化するのに役立ちます:

    CREATE FUNCTION some_updates(VARIADIC t test[]) ...
    

    次に、次のような行リテラルを渡します。

    SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
                      , '(489, 2019-07-02 00:00:00,343)')
    

    参照:

    渡す行が(多く)多い場合は、プレーンなINSERTを使用して(一時的な)テーブルにそれらを書き込むことを検討してください。 そこから処理します。




    1. mysqlのパーティショニングはテーブルを作成しますか、それとも単に仮想テーブルを作成しますか?

    2. Postgresqlで倍精度値をフォーマットします

    3. mySQLで行ID順に並べられたSELECT結果を取得します

    4. MySQL外部キーONDELETECASCADE3つのテーブル間