Fonction simple récalcitrante

Le
David
Bonjour,

Je souhaite implanter une fonction apparemment simple,
mais j'ai un message 455 : "la dernire instruction
incluse dans une fonction doit tre RETURN". Je ne
comprends pas bien pourquoi.

La voici :
CREATE FUNCTION dbo.nb2txt (@nb integer)
RETURNS varchar(100)
AS
BEGIN
IF @nb = 10
RETURN 'dix'
ELSE
IF @nb = 11
RETURN 'onze'
END

Merci d'avance
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #11719341
A priori car si non 10 ni 11, rien n'est prévu. La fait d'avoir un RETURN en
fin garantie que quelque soit le chemin emprunté, il y aura au moins un
RETURN.

Cela donne donc quelque chose comme :

CREATE FUNCTION dbo.nb2txt (@nb integer)
RETURNS varchar(100)
AS
BEGIN
IF @nb = 10 RETURN 'dix'
IF @nb RETURN 'onze'
RETURN 'Ne sais pas.'
END

Généralement je mets la valeur dans une variable et je fais un RETURN unique
à la fin.

Patrice

"David" news:4d6f01c42c6e$d9570500$
Bonjour,

Je souhaite implanter une fonction apparemment simple,
mais j'ai un message 455 : "la dernière instruction
incluse dans une fonction doit être RETURN". Je ne
comprends pas bien pourquoi.

La voici :
CREATE FUNCTION dbo.nb2txt (@nb integer)
RETURNS varchar(100)
AS
BEGIN
IF @nb = 10
RETURN 'dix'
ELSE
IF @nb = 11
RETURN 'onze'
END

Merci d'avance
Publicité
Poster une réponse
Anonyme