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 :
Pour l'instant tout va bien et tout cela fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part table.nomchamp = ( select * from UneAutreFonction(param1, param2, param3))
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 :
Merci d'avance
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 )
Partager