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 Procédural MySQL Discussion :

Erreur 1172 avec Vue


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Erreur 1172 avec Vue
    Bonjour.

    Afin de créer une vue, j'ai du écrire plusieurs fonctions de calcul. J'ai écrit les fonctions et je les ai testés de manière individuelle, et elles fonctionnent toutes.
    J'ai donc entrepris d'écrire une vue, dont voici le code :
    <<
    CREATE VIEW systemplus.V_ACTIONS
    (
    ROWID,
    NUMLOCAL,
    NUMTELLOCAL,
    PARAMETRES,
    NUMTELQUIRAPPELLE,
    TENTATIVES,
    RAPPELDATEHEURE,
    RESETTYPE,
    RESETDATEHEURE,
    NUMTELMOTIF,
    MOTIF,
    MOTIFDATEHEURE,
    STATUSMODE,
    DATEHEURE,
    MODULECODE,
    MODULEZONE,
    MODULEFCT,
    DUREERAPPEL,
    DUREERESET
    )
    AS
    SELECT
    events_backups.id,
    fct_FindRoomNumberFromRoomId (room_id),
    fct_FindRoomPhoneNumber (room_id),
    fct_ReturnText ('N/A'),
    events_backups.event_data,
    fct_ReturnText ('N/A'),
    events_backups.time,
    fct_FindResetType (time, room_id),
    fct_FindResetDateHeure (time, room_id),
    fct_ReturnText ('N/A'),
    fct_FindMotif (time, room_id),
    fct_FindMotifDateHeure (time, room_id),
    fct_ReturnText ('N/A'),
    fct_FindTimeAppelModule (time, room_id),
    modules.code,
    modules.zone,
    fct_ReturnText ('N/A'),
    fct_CalculDureeRappel (time, room_id),
    fct_CalculDureeReset (time, room_id)
    FROM events_backups, rooms, modules
    WHERE event like 'ROOM-CALLED'
    AND events_backups.room_id = rooms.id
    AND rooms.module_id = modules.id
    /*AND time > '2007-02-09 10:00:00'*/;
    >>

    Lorsque j'entre cette ligne, il me retourne le message d'erreur :
    <ERROR 1172 (42000): Result consisted of more than one row>

    D'après mes recherches, ceci arrive lorsque l'on utilise un SELECT ... INTO ... ce qui est le cas dans les fonctions.
    J'ai l'impression que MySQL fait :
    fonction_1(résultat1), fonction_1(résultat2), fonction_1(résultat3), ...
    plutot que :
    fonction_1(résultat1), fonction_2(résultat1), fonction_3(résultat1), ...
    fonction_1(résultat2), fonction_2(résultat2), fonction_3(résultat2), ...
    ...

    Est-ce que quelqu'un a une idée pour faire fonctionner la vue ?

    Merci d'avance.

    Mad Ant

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    J'ai oublié de signaler :
    lorsque je décommente la dernière ligne, il fonctionne parce que la condition WHERE ne retourne alors qu'une seule ligne.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Up.
    Personne n'a d'idée ?

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Est-ce que vous êtes sûr que tous les SELECT ... INTO... appelés dans toutes vos fonctions retournent toujours au maximum 1 ligne ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    @pifor : Merci du conseil. Effectivement, je viens de remarquer que dans certains cas précis, ils ne retournent pas 1 ligne, mais plusieurs.
    Je vais les retravailler.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/09/2016, 13h39
  2. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 13h58
  3. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05
  4. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  5. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15

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