SQL/PSMとは?えすきゅーえるぴーえすえむ
SQL/PSMとは、SQL標準のうち、変数宣言・IF・LOOP・例外処理といった手続き的な文法を定めた部分。これがあるとサーバ側だけで一連の処理を完結でき、1往復あたり数百マイクロ秒から数ミリ秒かかるネットワーク遅延を1回分に畳める。PostgreSQLのPL/pgSQL、OracleのPL/SQLがこの系統の実装にあたる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
アプリからSQLを1文ずつ投げる作りでは、1件ごとに要求と応答が往復する。1万件の在庫引当なら、1往復1ミリ秒でも待ち時間だけで10秒になる。しかも判断の途中でアプリが落ちれば中途半端な状態が残る。分岐と繰返しをサーバ側に置き、1トランザクションに閉じ込めるための文法として標準化された。
具体例
PostgreSQLのPL/pgSQLで、受注1件ぶんの在庫引当と不足分の発注登録を1つの関数にまとめる。アプリからは SELECT allocate_order(123) の1往復だけになり、途中で押さえた在庫行のロックは関数が終わるまで続くので、他のトランザクションから引き当てが割り込む余地がない。
試験での引っ掛け
標準はあっても方言が大きく、PL/SQLの構文をそのままPostgreSQLへ持ち込んでも動かない。またロジックをDBへ寄せるとCPUの上限がDBサーバ1台になり、アプリサーバのように台数で増やせなくなる。移植性と拡張性の両方を手放す判断だと押さえる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。