[英]Query WHERE IN clause not working
在SQL查詢中,我們使用WHERE IN
子句來過濾數據。 當我在WHERE IN
子句中傳遞35000個字段時, ExecuteNonQuery
拋出
對象引用未設置為實例異常
我在ExecuteNonQuery被執行的地方使用了try catch,但是異常沒有捕獲到當前方法,而是在父方法中捕獲了(單擊按鈕)
如果我將計數從35000減少到25000,則SQL查詢工作正常。 請幫忙。
SELECT * FROM COUNTRY WHERE CountryID in ('1','2',......'35000')
我也嘗試在SQL中使用臨時表,發生了相同的錯誤。
IF OBJECT_ID('tempdb..#temp)IS NOT NULL DROP #TEMP
CREATE TABLE #TEMP
( CountryID int NULL)
INSERT INTO #TEMP VALUES ('1')
.
.
.
INSERT INTO #TEMP VALUES('10')
SELECT * FROM COUNTRY WHERE CountryID IN(SELECT CountryID from #temp)
對象空引用錯誤不是問題,我該如何克服sql查詢中的Where In子句問題。 避免sql查詢中的where in子句的可能解決方案是什么?
請幫忙。 謝謝。
使用連接代替,這應該工作
SELECT * FROM COUNTRY c INNER JOIN #temp t on c.CountryId=t.CountryId
為什么不之間使用呢?
SELECT * FROM COUNTRY WHERE CountryID between 1 and 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.