【PostgreSQL】A5M2の疑似命令で配列にパラメータを渡す

A5M2の疑似命令で、PostgreSQLの配列にパラメータを渡す方法を紹介します。
A5M2の疑似命令について
A5M2では擬似命令という特殊なコメントを記述することで、通常のSQL文では実行できない命令を実行することができます。
例えば、以下のようにSetParameterを記載することで、実行SQLにパラメータをセットすることができます。
1-- * SetParameter 'name' 'test' String
2SELECT * FROM TableA WHERE name = :name:nameに「test」とという文字列を渡してます。パラメータを複数使いまわすような時に、値を書き換える箇所が1つにまとめられるので便利です。
疑似命令でPostgreSQLの配列にパラメータを渡す
A5M2のSetParameterには、配列ARRAYを定義することはできません。そのため、以下のように記述する必要があります。
例として、引数に配列が定義されているファンクションにパラメータを渡すには以下のように記載します。
1-- * SetParameter 'no1' '1' Integer
2-- * SetParameter 'no2' '2' Integer
3SELECT * from FunctionA (ARRAY [:no1, :no2] ::bigint []);配列の中の値を変数にするといった書き方になります。
今回はA5M2の疑似命令の方法を紹介しました。以上で記事を終わりにします。