ユーザ定義関数とは?
ユーザ定義関数とは、利用者がSQLや手続き型言語で作成し、問合せの中から呼び出せる関数。1つの値を返すスカラ関数と、表を返す表関数がある。試験では、業務ロジックをDB側へ寄せる利点と、行ごとに呼ばれて性能を劣化させる欠点の判断が問われる。
ゆーざていぎかんすう
ユーザ定義関数の意味
利用者がSQLや手続き型言語で作成し、問合せの中から呼び出せる関数。1つの値を返すスカラ関数と、表を返す表関数がある。試験では、業務ロジックをDB側へ寄せる利点と、行ごとに呼ばれて性能を劣化させる欠点の判断が問われる。
ユーザ定義関数の具体例
顧客の与信区分を判定する関数を定義し、SELECT 顧客名, 与信区分(顧客ID) FROM 顧客 のように使う。ロジックが1か所に集まり複数アプリで再利用できる一方、100万行の抽出に付けると関数が100万回呼ばれ、同じ判定を結合で書いた場合より何倍も遅くなる。
ユーザ定義関数は試験でどう引っ掛けられる?
ストアドプロシージャと違い、ユーザ定義関数は問合せの式の中に書ける代わりに、更新を伴う処理を禁止する処理系が多い。またWHERE句で列を関数の引数にすると、その列の索引が使えなくなる。
ユーザ定義関数と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。