J'essaie de générer quelques sql qui sont utilisés pour calculer quelques notes finales -> pensent les enfants à l'école et leurs scores de fin d'année. J'allais avoir environ 5 UDF scalaires qui, acceptent des valeurs simples (par exemple le score actuel, subjectid, peu importe), puis cracher une valeur décimale.Est-il mauvais d'utiliser une FDU SQL Server scalaire dans ce scénario?
par ex.
CREATE FUNCTION [dbo].[GetRatingModifier]
(
@ExamScore DECIMAL(6, 2),
@Project1Score DECIMAL(6, 2),
@Project1Score DECIMAL(6, 2),
@Project1Score DECIMAL(6, 2),
@SubjectTypeId TINYINT
)
RETURNS DECIMAL(8,5)
AS
BEGIN
DECLARE @Score DECIMAL(8,5)
SELECT @Score = (CASE @Project1Score
WHEN 1 THEN 10
WHEN 2 THEN 12.4
....) +
(CASE blah.. u get the drift)..
RETURN @Score
END
La logique n'a que des maths. Pas de sélection xxx de la table yyy etc.
Alors, est-ce ok à faire en ce qui concerne la performance?
À quel point cela serait-il difficile à tester? – JeffO