2012-03-13 43 views
0

我試圖從該查詢要做的就是我試圖讓所有超過指定Cutoffnumber年長從customertransaction表中的行:使用動態查詢SQL Server中的變量

@Cutoffnumber INT 

SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber ' 

但是我得到下面的錯誤,請注意,這是一個動態的SQL查詢。

必須聲明標量變量 「@Cutoffnumber」

我應該如何着手。

回答

-1
Decalre @Cutoffnumber INT  
Set @Cutoffnumber = @someValue 
SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) >' + @Cutoffnumber 

雖然好像你能做到這一點不存在動態SQL:

Declare @Cutoffnumber INT  
Set @Cutoffnumber = @someValue 
SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber 
+0

欣賞你的努力,但是那不是我打算這樣做。 – 2012-03-13 04:26:45

+0

那麼你在找什麼? – Colin 2012-03-13 04:32:30