Probleme variable entrante function Oracle

Probleme variable entrante function Oracle - SQL/NoSQL - Programmation

Marsh Posté le 05-05-2009 à 16:04:31    

Bonjour,
voilà j'ai une fonction dans ma base de donnée, à laquelle je passe la variable "identifiant".
Dans cette fonction j'ai cette requete :
 
SELECT location.DATEDEBUT, location.DATEFIN, location.ID_TYPE_LOCATION into v_dateDebut, v_dateFin, v_idTypeLocation
  FROM location
  WHERE location.IDENTIFIANT = identifiant;

 
Quand je remplace "identifiant" par 3, la fonction marche, quand je fais un return identifiant il contient bien 3, mais quand je l'exécute tel qu'elle j'ai un message d'erreur comme quoi trop de résultats ont étés retournés par rapport aux paramètres.  
Où est l'erreur?
 
J'appelle ma fonction comme cela : SELECT CALCULTARIF(3) FROM DUAL
 
Merci :)

Reply

Marsh Posté le 05-05-2009 à 16:04:31   

Reply

Marsh Posté le 05-05-2009 à 16:11:37    

il interprete sans doute cela comme:
 

Code :
  1. SELECT location.DATEDEBUT, location.DATEFIN, location.ID_TYPE_LOCATION into v_dateDebut, v_dateFin, v_idTypeLocation
  2.   FROM location
  3.   WHERE location.IDENTIFIANT = location.identifiant;

 
 
donc renomme ton paramètre pour qu'il ne se nomme pas de la même manière qu'un champ de la table que tu utilises. Perso je préfixe tous mes paramètres par p_ en pl/sql

Reply

Marsh Posté le 05-05-2009 à 16:14:24    

Trop fort merci :))

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed