1
我現在整天在一個相當簡單的udf。在下面。當我將select語句粘貼到查詢中時,它按預期運行......當我執行整個函數時,每次都得到「0」。正如你所知道的那樣,沒有很多的調試選項,所以在執行時很難看到設置的值是什麼。它的基本目的是確保股票數據存在於每日定價表中。因此,我可以通過查看多少天的數據,股票代碼和最近交易日期來檢查。一個子查詢爲我提供了正確的交易日期,並且我使用「IN」從定價和vol表中提取數據...如果返回的數量少於我檢查的天數,那就沒有用。如果是這樣,我們就開始做生意了。任何幫助將是巨大的,我是在這一點上撐船對於新手:SQL服務器udf不工作
ALTER FUNCTION dbo.PricingVolDataAvailableToDateProvided
(@Ticker char,
@StartDate DATE,
@NumberOfDaysBack int)
RETURNS bit
AS
BEGIN
DECLARE @Result bit
DECLARE @RecordCount int
SET @RecordCount = (
SELECT COUNT(TradeDate) AS Expr1
FROM (SELECT TOP (100) PERCENT TradeDate
FROM tblDailyPricingAndVol
WHERE (Symbol = @Ticker)
AND (TradeDate IN (SELECT TOP (@NumberOfDaysBack)
CAST(TradingDate AS DATE) AS Expr1
FROM tblTradingDays
WHERE (TradingDate <= @StartDate)
ORDER BY TradingDate DESC))
ORDER BY TradeDate DESC) AS TempTable)
IF @RecordCount = @NumberOfDaysBack
SET @Result = 1
ELSE
SET @Result = 0
RETURN @Result
END
感謝您的答覆,但我仍然揪頭髮了:) – StatsViaCsh 2012-01-17 23:30:41
編譯器也有100 pct的事情的方式,我刪除了它,它放回去.. – StatsViaCsh 2012-01-17 23:33:09
那麼你有固定的問題與'char' ?如果是的話,你是否也更改了參數定義? 「tblDailyPricingAndVol.Symbol」的數據類型是什麼?你打電話過得怎麼樣? – 2012-01-17 23:33:54