IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

Découvrez combien des Contextes Dans une requête


Sujet :

SQL Firebird

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut Découvrez combien des Contextes Dans une requête
    salut
    Est-il possible de Découvrez combien des Contextes Dans une requête ?

    La raison de la question est d'éviter de rencontrer ce message d'erreur ci-dessous

    Cela m'est arrivé lorsque j'ai placé une requête CTE complexe avec beaucoup de SELECT et Joints et sous-requetes.....
    Sachez que la solution à ce PB consiste à optimiser au maximum la requête Et minimiser les Contextes
    Afin de ne pas dépasser la limite maximale autorisée c'est 256 Contextes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Engine Error (code = 335544569):
    Dynamic SQL Error.
    Too many Contexts of Relation/Procedure/Views. Maximum allowed is 256.
     
    SQL Error (code = -902):
    Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  2. #2
    Expert éminent sénior
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    6 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 6 487
    Points : 20 126
    Points
    20 126
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Un peu d'effort dans la formulation de la question permettrait de comprendre de quoi il s'agit

    Citation Envoyé par delphi2019 Voir le message
    Est-il possible de Découvrez combien des Contextes Dans une requête ?
    Ca n'a aucun sens !

    Par contre
    est-il possible de découvrir combien des contextes il y a dans une requête ?
    C'est déjà mieux

    A partir de là, le message indique qu'il y a plus de 255 tables ou vues dans la requête ou la procédure.
    C'est à dire que ce n'est plus une procédure mais une usine à gaz, impossible à comprendre et donc à maintenir, sans parler des performances probablement désastreuses.
    Quand on en arrive à coder une requête ou procédure mettant en œuvre 255 tables, il est plus que temps de poser le stylo et se reposer les questions de bases pour procéder autrement !

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut
    merci escartefigue pour votre réponse
    Merci pour l'avertissement concernant une faute d'orthographe dans la phrase que j'ai utilisée


    La requête que j'ai écrite a utilisé Ne dépassez pas 15 tables Mais il me semble l'erreur précédente
    L'erreur qui se produit n'est pas toujours liée au nombre de tables utilisées

    Après une recherche sur Google, j'ai trouvé ce site expliquant comment le calculer les contextes d'une requête (Après l'avoir traduit de la langue espagnole)
    Mais je ne connais pas la source des informations qu'elle contient, alors je mets ce sujet

    C'est une partie de ce qui a été indiqué sur le site:
    Un SELECT à une table a un contexte
    Un SELECT avec un JOIN a deux contextes
    Un SELECT avec deux JOIN a trois contextes
    Un SELECT avec une sous-requête a deux contextes
    Un SELECT avec deux sous-requêtes a trois contextes
    Un SELECT avec une sous-requête et avec un JOIN a trois contextes
    Un SELECT auto-référencé (les deux tables de JOIN sont identiques) a deux contextes


    ici le lien
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  4. #4
    Expert éminent sénior
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    6 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 6 487
    Points : 20 126
    Points
    20 126
    Billets dans le blog
    2
    Par défaut
    Le problème peut venir d'un empilement de procs qui chacune utilise plusieurs tables, le nombre de table se cumule

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 731
    Points : 13 564
    Points
    13 564
    Par défaut
    Salut à tous.

    Je ne sais pas pour vous, mais avec la requête en question, nous serions en mesure de mieux comprendre le problème.

    Je suppose qu'en découpant la requête en sous-requêtes, et où chacunes seraient stockées dans une table intermédiaire, vous seriez en mesure de résoudre votre problème.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Numérotation des lignes dans une requête
    Par zoom61 dans le forum Access
    Réponses: 5
    Dernier message: 24/10/2006, 11h35
  2. Exclure des enregistrements dans une requête
    Par r@phy dans le forum Access
    Réponses: 3
    Dernier message: 29/03/2006, 12h18
  3. Réponses: 1
    Dernier message: 21/03/2006, 15h29
  4. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 16h34
  5. [SQL server] Comment Fusionner des données dans une requête
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo