Bonjour,

Je voudrais faire appel à des procédures stockées dans des vues, et je ne sais pas vraiment comment m'y prendre.
Je m'explique...

D'un côté, j'ai mis en place une procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GetResults(character varying);
- Prend un argument une chaine de caractères
- effectue de nombreuses modifications (complexes) sur les enregistrements contenant la chaine de caractère donnée
- rend un ou plusieurs enregistrements

Et de l'autre côté, je voudrais avoir une vue qui ressemblerait à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CREATE VIEW MyView AS
    SELECT *
    FROM GetResults(val);
Le but étant qu'un utilisateur puisse faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM MyView WHERE val = 'value';

Une solution simple aurait été :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT * FROM GetResults('value');
ou 
SELECT GetResults('value') FROM DummyTable;
Mais seulement pour diverses raisons, il est impossible à l'utilisateur de lancer des procédures de ces deux manières.


Et donc, je voudrais savoir s'il existe une manière de "cacher" une procédure derrière une vue.