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ランキング
-
createdbでいきなりつまづいて...
-
PostgreSQLについて教えてくだ...
-
PL/pgSQL 引数の数
-
Encoding変更
-
ヤフーショッピングでPayPay支...
-
ディスク上のサイズの乖離が大...
-
エクセルVBAでUWSCを使う
-
エクセルのデータをアクセスに...
-
pg_dumpでデータの引越し
-
AWSのcloud9で「 ls -l ~/.ssh/...
-
Windows上のPostgreSQLの完全削...
-
INSERT 0 1が大量に表示されて...
-
psql でのエラー出力について
-
アクセスで、OLEサーバーも...
-
テーブル単位のリストア
-
SQL: insert/importコマンドの違い
-
コマンドと関数の違い
-
ACCESSのレコードを削除しても...
-
BASP21送信エラーVB.NET
-
ソケットの異常終了について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
createdbでいきなりつまづいて...
-
PostgreSQLについて教えてくだ...
-
SJISのDBは作れますか?
-
PostgreSQLの再インストールに...
-
quoteした文字列を使ったSQL文...
-
DBで大文字小文字を区別せずINS...
-
PostgresSQLの環境設定について
-
PL/pgSQL 引数の数
-
\\copyコマンドでのCSV取り込み...
-
ログイン履歴
-
phpPgAdminの動作が重い
-
postgresのdatabase名と、そのe...
-
RDBとRDBMSの違いは何!?
-
PostgreSQLでデータベース名だ...
-
文字エンコーディングをEUC_JP...
-
initdbの文字コードと違う文字...
-
IDの払い出し(文字列)
-
phpPgAdminの使い方について
-
$postmasterが、うまくいきませ...
-
ヤフーショッピングでPayPay支...
おすすめ情報