Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction simple récalcitrante

1 réponse
Avatar
David
Bonjour,

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

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

Merci d'avance

1 réponse

Avatar
Patrice
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" a écrit dans le message de
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