J'écris une fonction PL/pgSQL. La fonction a des paramètres d'entrée qui spécifient (indirectement), de quelles tables lire les informations de filtrage.Une fonction PL/pgSQL peut-elle contenir une sous-requête dynamique?
La fonction intègre une logique métier qui lui permet de sélectionner des données provenant de différentes tables en fonction des arguments d'entrée. La fonction génère de manière dynamique une sous-requête qui renvoie des données de filtrage qui sont ensuite utilisées pour exécuter la requête principale.
Mes questions sont les suivantes:
Est-il 'légal' d'utiliser une sous-requête dynamique dans une fonction PL/pgSQL. Je ne vois pas pourquoi pas - mais cette question est liée à la suivante. AFAIK, PL/pgSQL sont mises en cache ou précompilées par le moteur de requête. Comment avoir une fonction qui génère des sous-requêtes dynamiques a un impact sur le travail du moteur de recherche?