3 votes

Comment obtenir l'effet d'une vue triée de la base de données ?

J'aimerais pouvoir (effectivement) trier une vue de base de données. Je sais que, conceptuellement, l'ordre dans une vue de base de données n'est pas valable, mais je dois faire face au scénario suivant :

  • une application tierce, qui lit les données des tables de la base de données à l'aide d'une instruction select(*) from tablename.
  • l'application patrimoniale est très sensible à l'ordre des enregistrements.
  • une application que j'ai écrite pour permettre aux utilisateurs de gérer plus facilement les données des tables, mais les insertions et les suppressions de la table bouleversent naturellement l'ordre des enregistrements.

Si je modifiais l'instruction de l'ancienne application en sélectionnant (*) à partir du nom de l'onglet et en ordonnant par champ, mon problème serait résolu, mais ce n'est pas possible.

J'ai donc mis en place une table d'attente dans laquelle les données peuvent être exportées dans le bon ordre, mais cette option est gourmande en ressources, signifie que les données ne sont pas "vivantes" dans l'application existante et représente un travail supplémentaire pour les utilisateurs.

J'aimerais pouvoir obtenir une version ordonnée du tableau avec ces contraintes. Comment faire ?


Mise à jour - Je travaille avec Sybase 12.5, mais j'aimerais éviter une solution étroitement couplée avec un SGBDR spécifique - cela pourrait changer.

Je ne peux pas ajouter une clause "order by" à une vue, en raison des normes SQL mentionnées dans le document suivant cette entrée de Wikipedia

0voto

Brabster Points 18764

Suite aux informations que vous avez fournies, il semble que je ne puisse pas faire ce que je veux sur Sybase ASE 12.5.

MSSQL Server et Sybase ASE 15.x devraient suffire. J'espère pouvoir trouver un arrangement. Je ne sais pas vraiment laquelle accepter tant que je n'ai pas réussi à faire fonctionner quelque chose, mais je reviendrai et accepterai une réponse à ce moment-là.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X