ORACLEデータベースで最速のものは何ですか?
selectステートメント内で関数を呼び出して、各行の単一の値を取得します
SELECT field1, field2, F_GET_LIBELLE_STATUT( field2 ) FROM table1 WHERE ...
単純な関数で:
create or replace
FUNCTION "F_GET_LIBELLE_STATUT" (v_statut NUMBER) RETURN VARCHAR2 IS
tmpVar VARCHAR2(40);
BEGIN
select libelle into tmpVar from t_statut_ope where id_statut = v_statut;
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END f_get_libelle_statut;
または、selectステートメントで結合を実行しますか?
Select a.field1, a.field2, b.libelle
FROM table1 a LEFT JOIN t_statut_ope b ON b.id_statut = a.field2
WHERE ...
そして、selectと節の条件で多くの関数(10個以上)を呼び出した場合も同じ答えですか?
ご回答有難うございます。