我有一個查詢需要一些參數。如果在存儲過程中,TSQL:查詢不返回行
在SQL Server Management Studio的標準查詢屏幕上執行它,它的工作方式與預期的一樣,約15秒後返回一些數據行。這是一個複雜的查詢。
但是在存儲過程中執行它只會返回沒有任何數據行的頭。
此外,它的執行只需要1〜2秒。
沒有錯誤返回或顯示。
它的方面是這樣的:
CREATE PROCEDURE [dbo].[sp_StoreProcedure]
@FDId INT
, @Year INT
, @NDate DATETIME
, @SDate DATETIME
, @MId INT
AS
BEGIN
SET NOCOUNT ON;
SELECT of complex query
END
而且它的調用很簡單:
DECLARE @FDId INT
DECLARE @Year INT
DECLARE @NDate DATETIME
DECLARE @SDate DATETIME
DECLARE @MId INT
SET @FDId = 926
SET @Year = 2012
SET @NDate = '1900-01-01'
SET @SDate = GetDate()
SET @MId = 1
EXEC [outsystems].[dbo].[sp_StoreProcedure]
@FDId
, @Year
, @SDate
, @NDate
, @MId
但它返回一個空表。
這怎麼可能? 我能做些什麼來解決它?
編輯 - >複雜的查詢有24個連接。在這裏展示它會是巨大的。
錯誤可能是在'複雜查詢'某處。也許如果你真的顯示這個查詢,有人可以指出這個問題。 – 2013-03-06 17:07:55
我們需要真的看到這個查詢,它可能像查詢文本中沒有使用其中一個參數那樣簡單,所以它不返回任何結果,但沒有看到它,沒有人能夠說明。 – steoleary 2013-03-06 17:11:59
爲什麼不使用臨時表來跟蹤結果?這樣你可以找到記錄消失的地方。 – GRGodoi 2013-03-06 17:15:25