ストアドプロシージャとは?すとあどぷろしーじゃ
ストアドプロシージャとは、一連のSQLと条件分岐・繰返しをデータベース側に登録し、名前で呼び出せるようにしたもの。アプリとの通信回数が減って性能が上がり、表への直接更新権限を与えずに定型処理だけを許せる。運用の場面では、本番データベースの中に置かれた「アプリと同じくらい業務に効くプログラム」であり、構成管理と変更管理の対象に入れ忘れやすい箇所になる。
最終更新:2026-10-06
ITサービスマネージャを最短で暗記・合格する →背景
処理をアプリ側に置くと、1件ごとにネットワークを往復するため、大量件数の夜間バッチでは時間が伸びる。データの近くで処理を完結させれば往復が消える、というのが本来の動機である。ただし運用にとっての意味はもう一つあり、実行権限だけを渡して元表の更新権限は渡さないという分離ができる点で、これは締め処理や一括更新のような危険な操作を、担当者に生SQLを触らせずに実施させる手段になる。規格の言い方では、構成品目(CI)として識別し、変更を承認と記録のもとで行う対象である。
具体例
Oracle Database の PL/SQL や PostgreSQL の PL/pgSQL で月次の締め処理を組み、運用担当者にはその実行権限だけを付与して、元表へのUPDATE権限は与えない。障害調査で処理内容を確認する必要が出たときのために、本番に登録されている版と構成管理下のソースが一致していることを、リリースのたびに検証する手順を置く。
試験での引っ掛け
アプリケーションのソースはGitで厳格に管理されていても、データベース内のプロシージャは本番で直接作り替えられ、変更管理の網から外れていることが多い。「変更管理は適切に運用されている」という結論を、アプリのリポジトリだけを見て出すと、この抜け道を見落とす。もう一つ、性能改善を期待して処理をDB側へ寄せると、CPU負荷がDBサーバに集中して増強しにくくなる——アプリサーバは台数を足せるが、DBは容易に横に伸ばせない点をキャパシティ計画で見落としやすい。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。