问题 单项选择题

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

单项选择题
问答题 简答题