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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SJISのDBは作れますか?
-
\\copyコマンドでのCSV取り込み...
-
文字エンコーディングをEUC_JP...
-
PostgreSQLについて教えてくだ...
-
quoteした文字列を使ったSQL文...
-
時間のフォーマット
-
ディスク上のサイズの乖離が大...
-
Oracle / UNIX ファイルコマン...
-
ACCESSのレコードを削除しても...
-
shellからpostgresqlへの変数の...
-
ACCESS VBA;コマンドボックス...
-
Windows版 pg_dumpの結果をログ...
-
ソケットの異常終了について
-
oracle spool SJIS → UTF-8
-
Windows上のPostgreSQLの完全削...
-
SQL: insert/importコマンドの違い
-
複数カラムを跨いだCOUNTができ...
-
アクセスで、OLEサーバーも...
-
tar.gzファイルのリストアについて
-
データベースの移転がうまくで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLについて教えてくだ...
-
createdbでいきなりつまづいて...
-
PostgreSQLの再インストールに...
-
PostgresSQLの環境設定について
-
PL/pgSQL 引数の数
-
quoteした文字列を使ったSQL文...
-
ログイン履歴
-
SJISのDBは作れますか?
-
RDBとRDBMSの違いは何!?
-
\\copyコマンドでのCSV取り込み...
-
DBで大文字小文字を区別せずINS...
-
PostgreSQLのpsqlでユーザの扱...
-
Redhat9 の PostgreSQL
-
データベースリストア時にエラ...
-
PostgreSQLでデータベース名だ...
-
PostgreSQLとmySQLのメリット、...
-
initdbの文字コードと違う文字...
-
保守にVACUUMは必要か?
-
時間のフォーマット
-
ラージオブジェクトについて
おすすめ情報