※ ChatGPTを利用し、要約された質問です(原文:PL/pgSQL 引数の数)
PL/pgSQL 引数の数に制限がありますか?
このQ&Aのポイント
PL/pgSQL を使用して更新処理を行いたいですが、パラメータの数が多すぎるためエラーが発生しています。
可変長引数を使用すると、データベースには定義できますが、実行時に同様のエラーが発生します。
PL/pgSQL の引数の数を制限する設定や対策があれば教えてください。
PL/pgSQL を使用し更新処理を行いたいのですが、
パラメータの数が多すぎるのか
以下のエラーでデータベースにファンクションを定義出来ません。
ERROR: functions cannot have more than 100 arguments
SQLステート:54023
可変長引数で作成すると、データベースに定義は出来るのですが
ファンクション実行時に同様のエラーが発生し更新処理が行えません。
PL/pgSQL の引数を100以上使用出来る様にする設定等、存在するのであれば
教えて頂きたいです。
環境は以下の内容です。
CentOS-6.2-x86_64
Apache/2.2.15
PostgreSQL 9.1.3
PHP Version 5.3.3 (PDOを使用しています)
お礼
回答ありがとうございます。 ご指摘の通りファンクションの設計に問題があると思います。 MySqlよりコンバートしているのですが、トランザクションの各カラムをすべてファンクションに送り、ファンクション内で各テーブルの更新及びトランザクションの追加処理を行っているため今回ご質問させて頂いた現象が発生してしまいました。 トランザクションの追加処理はPHP側で行いトリガで各テーブルの更新ファンクションをコールする形に修正しようと思います。