ORACLE PL/SQL: Fonctions et des Paramètres Facultatifs, Comment?

Je suis à la recherche de la meilleure façon de créer une fonction qui peut accepter aucun des paramètres et retourner tous les résultats, mais accepte également les paramètres et le retour de ces résultats.

La norme j'ai du faire avec mon travail est ceci:

FUNCTION get_records (
  i_code                                 IN records.code%type := NULL,
  i_type                                 IN records.type%type := NULL
) RETURN results

Le problème est que je veux renvoyer des enregistrements qui ont un type de NULL ainsi, et à l'aide de:

WHERE type = nvl(i_type, type)

Il retourne uniquement les enregistrements avec les types réels et non pas les enregistrements null.. pour des raisons évidentes. Je me demandais juste si il y a un niveau moyen de faire ce que pourrait être mise en œuvre à travers toutes les fonctions que nous utilisons. Par coïncidence, si je fournir un paramètre... je ne veux pas les valeurs NULL dans ce domaine.

InformationsquelleAutor jlrolin | 2010-10-19