資格暗記無料で始める

ユーザ定義関数とは?

ユーザ定義関数とは、利用者がSQLや手続き型言語で作成し、問合せの中から呼び出せる関数。1つの値を返すスカラ関数と、表を返す表関数がある。試験では、業務ロジックをDB側へ寄せる利点と、行ごとに呼ばれて性能を劣化させる欠点の判断が問われる。

ゆーざていぎかんすう

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)


ユーザ定義関数の意味

利用者がSQLや手続き型言語で作成し、問合せの中から呼び出せる関数。1つの値を返すスカラ関数と、表を返す表関数がある。試験では、業務ロジックをDB側へ寄せる利点と、行ごとに呼ばれて性能を劣化させる欠点の判断が問われる。

ユーザ定義関数の具体例

顧客の与信区分を判定する関数を定義し、SELECT 顧客名, 与信区分(顧客ID) FROM 顧客 のように使う。ロジックが1か所に集まり複数アプリで再利用できる一方、100万行の抽出に付けると関数が100万回呼ばれ、同じ判定を結合で書いた場合より何倍も遅くなる。

ユーザ定義関数は試験でどう引っ掛けられる?

ストアドプロシージャと違い、ユーザ定義関数は問合せの式の中に書ける代わりに、更新を伴う処理を禁止する処理系が多い。またWHERE句で列を関数の引数にすると、その列の索引が使えなくなる。

ユーザ定義関数と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。