ストアドプロシージャとは?すとあどぷろしーじゃ
ストアドプロシージャとは、一連のSQL文と手続き的な処理をあらかじめDBMSへ登録しておき、名前を指定して呼び出す仕組み。クライアントは呼出し1回を送るだけで済むため通信量が減り、構文解析済みの実行計画が再利用されることで応答時間の短縮にもつながる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
クライアントサーバ構成では、SQLを1文ずつ投げて結果を受け取るたびに往復が生じる。結果を見て次のSQLを決める処理をクライアント側へ置けば、この往復が件数のぶん積み上がり、回線の遅延がそのまま応答時間になる。ストアドプロシージャは判断ごとサーバ側へ移して往復自体を減らす設計であり、表への直接アクセスを禁じてプロシージャ経由に限る権限設計にも使える。
具体例
OracleのPL/SQLやPostgreSQLのPL/pgSQLでは、在庫の引当て、出庫記録の作成、残数の更新までを1つのプロシージャとして登録し、アプリケーションはそれを1回呼ぶ。途中の判定もサーバ側で完結するので、業務トランザクションあたりの往復が1回で済む。
試験での引っ掛け
利点として問われるのはネットワーク通信量の削減であって、SQL1文ずつの実行が速くなるわけではない。記述にDBMS固有の手続き言語を使うため製品依存が強まり、移行の障壁になる点が欠点として対で出る。データ更新を契機に自動起動するトリガとは、呼び出され方が違う別の仕組み。
関連用語
出た過去問
出典:平成29年度 秋期 応用情報技術者試験 午前 問26(IPA)
ストアドプロシージャの利点はどれか。
正解:アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、両者間の通信量を減少させる。
要点:ストアドプロシージャの主な利点はネットワーク通信量の削減
ストアドプロシージャは一連のSQL処理をあらかじめDBMS側に登録しておき、クライアントからは呼出しと引数の送信だけで実行させる仕組みである。複数のSQL文を1回の呼出しにまとめられるので、アプリケーションとDBMSの間でやり取りされるネットワーク上の通信量と往復回数を削減できる。
出典:令和5年度 春期 応用情報技術者試験 午前 問27(IPA)
クライアントサーバシステムにおけるストアドプロシージャの記述として、誤っているものはどれか。
正解:データの変更を行うときに、あらかじめDBMSに定義しておいた処理を自動的に起動・実行するものである。
要点:自動起動はトリガ、明示的な呼出しがストアドプロシージャ
設問は誤っている記述を選ぶもので、データの変更を契機にあらかじめ定義した処理を自動的に起動する仕組みはトリガであり、ストアドプロシージャの説明ではない。ストアドプロシージャは一連の処理をDBMS側にまとめて登録しておき、クライアントからの明示的な呼出しで実行するものである。
出典:令和6年度 春期 応用情報技術者試験 午前 問25(IPA)
ストアドプロシージャの利点はどれか。
正解:アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、両者間の通信量を減少させる。
要点:ストアドプロシージャの主な利点はクライアント間の通信量削減
ストアドプロシージャは一連のSQL処理をあらかじめDBMS側に登録しておき、クライアントは呼出しだけを行う仕組みである。個々のSQL文と中間結果をネットワーク越しにやり取りする必要がなくなるため、クライアントとサーバ間の通信量とやり取りの回数を大幅に削減できる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。