Bonjour,
J'ai un petit soucis avec une de mes fonctions.
Elle affiche une adresse en lui donnant un nom, prénom et une date de naissance. Tout vas bien si on donne les 3 données, cependant si je met la date de naissance à NULL, ça ne fonctionne plus.
Quelqu'un peut m'expliquer pourquoi et comment résoudre ce soucis ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 CREATE OR REPLACE FUNCTION adress_locat ( v_nom IN Personne.nom%TYPE, v_prenom IN Personne.prenom%TYPE, v_datenaiss IN Personne.datenaiss%TYPE) RETURN VARCHAR2 IS v_rue Logement.rue%TYPE; BEGIN SELECT rue INTO v_rue FROM Personne,Signataire,Contrat,Logement WHERE v_nom=Personne.nom AND v_prenom=Personne.prenom AND v_datenaiss=Personne.datenaiss AND Personne.id=Signataire.idpersonne AND Contrat.numero=Signataire.numcontrat AND Contrat.idlog=Logement.idlogement; RETURN(v_rue); END adress_locat; / VARIABLE g_rue VARCHAR2(50); EXECUTE :g_rue := adress_locat('Di Toro','Marco','18-02-1980'); PRINT g_rue; EXECUTE :g_rue := adress_locat('Reventlov','Giskard',NULL); PRINT g_rue;
Partager