|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 16 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 16 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 16 ![]() |
Up.
Personne n'a d'idée ? |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Est-ce que vous êtes sûr que tous les SELECT ... INTO... appelés dans toutes vos fonctions retournent toujours au maximum 1 ligne ?
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 16 ![]() |
@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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com