Bonjour à tous

Je me permets de vous solliciter pour un problème de fonction table sous T-SQL. N'étant pas un spécialiste je bloque sur un point particulier :

J'ai créé une fonction table qui prend en entrée 5 parametres.
Lors de la construction de cette table, dans le corps de la fonction, je fais un moment une jointure de type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
table.nomchamp = ( select * from UneAutreFonction(param1, param2, param3))
Pour l'instant tout va bien et tout cela fonctionne.

Il se trouve que param2 de cette fonction appellée est le même que celui saisit en parametre de ma fonction principale.

Mon soucis est que j'aimerai faire un test sur ce parametre de type, si sa valeur est nulle, j'appelle une autre fonction qui me renvoi un numeric et ainsi prendre cette valeur à la place. J'ai essayé avec isnull mais il n'aime pas se retrouver avec un select en 2e argument.

Il me suffirait, je pense, d'affecter le résultat de cette "UneAutreFonction" dans une variable mais étant dans une fonction table, rien n'y fait je n'arrive pas à déclarer une toute bete variable....

J'en appelle donc à vos connaissances afin de m'aiguiller, sachant que ma fonction table fonctionne très bien mis à part ce controle que je n'arrive pas à effectuer.

Ma fonction présente cette structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
CREATE FUNCTION [ZDD].[SYS_Func] 
(
@Pram	AS NUMERIC(3)		  =  	NULL	
...
)
RETURNS TABLE
AS
RETURN
(
       mon select
)
Merci d'avance