Bonjour à tous
J'ai des colonnes calculées qui appellent une fonction par exemple fonct1()
J'aimerais connaitre dans la fonction fonct1(), le nom de la colonne qui est à l'origine de l'appel de cette fonction. comment puis-je faire?
Merci d'avance
Version imprimable
Bonjour à tous
J'ai des colonnes calculées qui appellent une fonction par exemple fonct1()
J'aimerais connaitre dans la fonction fonct1(), le nom de la colonne qui est à l'origine de l'appel de cette fonction. comment puis-je faire?
Merci d'avance
Un exemple de semantique mon cher ami.
Le mieux serait de transformer la fonction en fcont1(valeur, nomDeColonne).
Pour le moment, j'ai rajouté suite à mon post un index qui est différent pour chaque colonne afin de faire des tests sur des valeurs entières qui est plus efficace que par comparaison de chaine de caractère comme proposé ci-dessous par idRei Ichido.
Ce qui donne du point de vue "sémantique" n'est-ce pas WOLO Laurent!
Pour la fonction :
Pour l'utilisation :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE FUNCTION [dbo].[IncMinExcMaxIntervaleFloat] ( @columnId tinyInt, @min float, @max float ) RETURNS varchar(max) AS BEGIN ... IF (@columnId = 100) ... ELSE IF (@columnId = 101) ... ... RETURN ... END
J'ai fais cela pour un programme qui ne servira que quelques fois.Code:
1
2
3
4
5
6 SELECT dbo.IncMinExcMaxIntervaleFloat(100, min1, max1) AS [exp1], dbo.IncMinExcMaxIntervaleFloat(101, min2, max2) AS [exp2], dbo.IncMinExcMaxIntervaleFloat(102, min3, max3) AS [exp3] FROM ....
Il est clair que pour une application efficace, il faudrait mieux une fonction par colonne afin de ne pas avoir de test à faire.
Si quelqu'un à la réponse à ma question, je suis toujours preneur.