单选题 在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 varcbar(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子句中定义的类型的单个数据值。标量函数的返回值类型不能是大文本、图像等类型。