
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を使用しています)
No.1ベストアンサー
- 回答日時:
100 以上の引数をもった関数を定義できるようにするには、ソースコードを修正してコンパイルしなおす必要があります。
ヘッダファイル src/include/pg_config_manual.h 内の定数 FUNC_MAX_ARGS を修正してください。ソースコードのコメントには約 600 まで増やせるということです。
100 以上の引数をもつ関数を定義すること自体、設計に何らかの問題がありそうなので、そちらを見なおしたほうがよいと思います。
あるいは、引数を配列や複合型で渡すことを考えたほうがいいかもしれません。
回答ありがとうございます。
ご指摘の通りファンクションの設計に問題があると思います。
MySqlよりコンバートしているのですが、トランザクションの各カラムをすべてファンクションに送り、ファンクション内で各テーブルの更新及びトランザクションの追加処理を行っているため今回ご質問させて頂いた現象が発生してしまいました。
トランザクションの追加処理はPHP側で行いトリガで各テーブルの更新ファンクションをコールする形に修正しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- ソフトウェア パソコンの買い替え時、マイクロソフトでアカウントの変更(?)は? 2 2022/05/13 02:59
- SoftBank(ソフトバンク) ソフトバンク及びワイモバイルの引き落としが、私のカードが海外で不法な引き落としに会い、カードを使用停 2 2022/09/21 22:01
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- UNIX・Linux bash環境でのエラー対応をお願い致します。 1 2022/11/26 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自治会総会の成立要件について
-
mplabの事です。 2年くらい前に...
-
レンタルサーバーのPostgreSQL...
-
plgファイルの開き方
-
エクセルで縦のカラムデータを...
-
2018年度版帝国データバンクの...
-
Windows10がインストールできま...
-
パイソンのエラー
-
PostgreSQL14.6のSSL対応について
-
PuTTyにログインまでは出来たの...
-
postgreSQLのint型は桁数指定が...
-
postgresql についてです
-
Windows10でQuickTimeがインス...
-
postgresqlでのトランザクショ...
-
select文の書き方で分からない...
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLについて教えてくだ...
-
createdbでいきなりつまづいて...
-
SJISのDBは作れますか?
-
PostgreSQLの再インストールに...
-
quoteした文字列を使ったSQL文...
-
PostgresSQLの環境設定について
-
Redhat9 の PostgreSQL
-
ユーザー作成
-
PostgreSQLのpsqlでユーザの扱...
-
PostgreSQLとmySQLのメリット、...
-
RDBとRDBMSの違いは何!?
-
ログイン履歴
-
IDの払い出し(文字列)
-
pgPool-IIの監視について
-
adminIIIの使い方
-
DB毎に保存ディレクトリを変える
-
postgresのdatabase名と、そのe...
-
SQLの日本語表示
-
PL/pgSQL 引数の数
-
phpPgAdminの使い方について
おすすめ情報