簡體   English   中英

如何在SQL Server 2008 r2中的函數中返回記錄

[英]How to return a record in a function in SQL Server 2008 r2

我想寫一個在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;

你是怎樣做的?

采用

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

查看返回的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM