ユーザ定義関数とは?ゆーざていぎかんすう
ユーザ定義関数とは、利用者が定義し、問合せの中から呼び出せる関数。値を一つ返すスカラ関数と、表を返す表関数がある。業務上の判定ロジックがデータベース側に置かれるため、監査では変更管理の対象として捕捉されているか、本番環境での定義変更に承認の記録が残っているかが論点になる。
最終更新:2026-10-06
システム監査技術者を最短で暗記・合格する →背景
同じ判定を複数のアプリで書くと差異が生まれるので、ロジックをデータベースへ寄せる設計が採られる。ところがこの種のオブジェクトはアプリの構成管理から外れやすく、リリース手続を経ずに本番の判定が変わっても誰も気づかない。IT全般統制のプログラム変更管理で、対象範囲にデータベースオブジェクトが含まれているかが実際に問われるのはこのためである。
具体例
Oracle DatabaseやPostgreSQLは、関数の作成・変更を監査証跡として記録する機能を備えている。監査人はこの記録を自ら抽出し、変更管理台帳の申請番号と一件ずつ突合して、承認を経ない定義変更が本番に入っていないかを確かめる。
試験での引っ掛け
ストアドプロシージャと違い、問合せの式の中に書ける代わりに更新を伴う処理を禁じる処理系が多い。WHERE句で列を関数の引数にすると索引が使えず性能が落ちる点も定番である。監査側では、関数名が台帳にあることと現在の中身が承認どおりであることは別で、定義の内容まで確認しないと証拠にならない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。