在SQL Server 2000中,设有教师表(教师号,姓名,所在部门,工资)。现需统计指定部门的工资总和,有下列标量函数:
Ⅰ.CREATE FUNCTION f_SumSalary(@bm varchar(30))
RETURNS int
BEGIN
RETURN(SELECT SUM(工资) FROM教师表WHERE所在部门=@bm)
END
Ⅱ.CREATE FUNCTION f_SumSalary(@bm varchar(30))
RETURNS int
BEGIN
RETURN (SELECT COUNT(工资) FROM教师表WHERE所在部门=@bm)
END
Ⅲ.CREATE FUNCTION f_SumSalary(@bm varchar(30))
RETURNS int
BEGIN
DECLARE @X INT
SET @X=(SELECT SUM(工资) FROM教师表WHERE所在部门=@bm)
RETURN @X
END
Ⅳ.CREATE FUNCTION f_SumSalary(@bm varchar(30))
RETURNS int
BEGIN
DECLARE @X INT
SELECT @X=SUM(工资) FROM教师表WHERE所在部门=@bm
RETURN @X
END
上述函数中,能正确实现该功能的是()。
A.仅Ⅰ
B.仅Ⅱ
C.仅Ⅰ和Ⅳ
D.仅Ⅰ、Ⅲ和Ⅳ
参考答案:D
解析:
定义标量函数的语法格式为:
CREATE FUNCTION[拥有者名.]函数名
([{@参数名[AS]标量数据类型[=default]}[,……n]])
RETURNS返回值类型
[AS]
BEGIN
函数体
RETURN标量表达式
END
说明:
①同存储过程一样,函数的参数也可以有默认值。
②标量表达式:指定标量函数返回的标量值。标量函数返回在RETURNS子句中定义的类型的单个数据值。标量函数的返回值类型不能是大文本、图像等类型。