Bonjour,
je pense que le besoin exprimé rejoint la dernière remarque de Dimitri à
savoir proposer une interface qui ne confronte pas l'utilisateur à SQL.
On trouve ce genre de chose par exemple avec des requêtes réalisées sous
MS Access où l'on dispose d'une zone 'critère' dans laquelle le créateur
de la requête n'est pas obligé de fixer la valeur de filtre; au
lancement de la requête Access demandera alors à l'utilisateur de saisir
cette valeur (par exemple l'année 2004). Je pense que la procédure
stockée, avec son ou ses paramètres selon la complexité, répond à ce
besoin (c'est en quelque sorte l'abstraction proposée par Dimitri).
Bonne journée.
Alain.
Le 15/11/2012 21:35, Dimitri Fontaine a écrit :
> "Marie-Claude QUIDOZ" <Marie-Claude(dot)QUIDOZ(at)cefe(dot)cnrs(dot)fr> writes:
>> SELECT * FROM entree_donnees.bordereau_jaune WHERE annee_obs=2004.
>> C'est cette requête que j'aimerai "paramétrer" pour faciliter la vie des
> On peut forcer cela avec une fonction, en effet :
>
> CREATE VIEW entree_donnees.bordereau_jaune_2004 AS
> SELECT *
> FROM entree_donnees.bordereau_jaune_annuel(2004);
>
> On crée la fonction qui va avec au préalable bien entendu. Une autre
> façon de faire, plus simple :
>
> CREATE VIEW entree_donnees.bordereau_jaune_2004 AS
> SELECT *
> FROM entree_donnees.bordereau_jaune
> WHERE annee_obs=2004;
>
> Une fois de plus je ne comprends pas bien l'intérêt de la démarche étant
> donné la simplicité de l'exemple.
>
> D'autre part, je ne pense vraiment pas que l'utilisation de la vue
> limitée à 2004 sera plus simple à utiliser que la requête donnée
> ci-avant.
>
> À mon avis le mieux est de faire un choix : enseigner SQL aux
> utilisateurs ou bien leur proposer une couche d'abstraction leur
> permettant de ne pas y être confronté…
>