【发布时间】:2023-03-18 01:12:02
【问题描述】:
我想为一个目的创建一个函数,函数就是这样但是它不起作用。
CREATE FUNCTION FNLVDAYS
(@MONTH SMALLINT,@YEAR SMALLINT)
RETURNS INT
AS
BEGIN
DECLARE @LVDAYS INT
SELECT COALESCE((SELECT SUM (LVDAYS) FROM LeaveTran WHERE
LeaveTran.EMPCODE=LeaveMaster.EMPCODE AND LeaveTran.LVTYPE=LeaveMaster.LVTYPE AND MONTH(LV_FROM)=@MONTH AND YEAR(LV_FROM)=@YEAR ),0) AVAILED
FROM LEAVEMASTER
RETURN @LVDAYS
END
给出这个错误:
Msg 444, Level 16, State 2, Procedure FNLVDAYS, Line 8
Select statements included within a function cannot return data to a client.
【问题讨论】:
-
您在 SQL Server 不支持的函数中编写了 select 查询。您可以选择一些变量或临时表然后对其进行处理。
-
您似乎不需要这里的变量声明,因为您不使用它。