0

特定の基準に一致するレコードの数である INT を返す関数を書きたいと思います。

私はこれを試してみましたが、実行されます...しかし、静かなままです-何も返されません。バックグラウンドでselectを実行しているだけだと思います。

ALTER FUNCTION [dbo].[f_InboundCallsPerUser](@p_User varchar(50), @p_sd datetime, @p_ed datetime)
RETURNS INT
WITH EXECUTE AS CALLER
AS
BEGIN
Return(SELECT  COUNT(*) 
FROM CallDetail
WHERE LocalUserID = @p_user
AND InitiatedDate BETWEEN @p_sd AND @p_ed
AND UPPER(CallDirection) = 'OUTBOUND'
AND LineDurationSeconds > 0);
END;

どうやってそれをしますか?

4

1 に答える 1

2

使用する

SELECT [dbo].[f_InboundCallsPerUser](@p_User, @p_sd , @p_ed)

私はあなたがおそらくEXECそれをしていると思います。その場合、あなたがする必要があります

DECLARE @Result INT
EXEC @Result =[dbo].[f_InboundCallsPerUser] @p_User, @p_sd , @p_ed 
SELECT @Result

戻り値を確認します。

于 2012-11-28T15:09:59.847 に答える