我想要生成一些用于计算一些最终分数的sql - >请考虑孩子在学校和他们的年底分数。在这种情况下使用Sql Server Scalar UDF不好吗?
我将有大约5个左右的标量UDF,接受一些简单的值(例如,当前分数,主观,任何),然后吐出一个十进制值。
例如。
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
该逻辑只有数学。从表yyy没有选择xxx等。
所以,这关于性能可以吗?
测试有多难? – JeffO 2011-10-21 20:04:54