日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何解決SQLServer中傳入select語句in范圍參數(shù)

如何解決SQL Server中傳入select語句in范圍參數(shù)呢?下面將為您解析產(chǎn)生該問題的原因,以及相應(yīng)的解決辦法,供您參考,希望對(duì)您有所啟迪。

columns :
 customerCode string
 customerName string
 customerGroup string
 customerRouteNum string
 ...........

現(xiàn)在為了查處選定的cusotmerCode的Customer的全部信息并顯示在界面上(總共的customer數(shù)量為11029),每次讀一個(gè),顯然很慢,因?yàn)榭梢远噙x,可能1個(gè),可能是所有,所以讀出所有然后剔出未選的,效率也不高。

因此開始采用存儲(chǔ)過程:

CREATE PROCEDURE TS_GetCustomersByNames
( @custCodes nvarchar(3700)
) AS

select * from customer
where customerName in (@custNames)

一直得不到正確結(jié)果,發(fā)現(xiàn)不論傳入?yún)?shù) @custNames =  N'''Taste Of Punjab (Tsim Sha Tsui)'',''Lily Food Wholesales (Tuen Mun)'''
還是 @custNames =  N'Taste Of Punjab (Tsim Sha Tsui),Lily Food Wholesales (Tuen Mun)'(注:其實(shí)這種明顯不對(duì),試驗(yàn)一下而已)

但如果用select * from customer
where customerName in (''Taste Of Punjab (Tsim Sha Tsui)'',''Lily Food Wholesales (Tuen Mun)')----  (X)   
當(dāng)然是有正確結(jié)果的。

那原因是什么呢?
原因是: @CustCodes作為參數(shù)傳入時(shí),編譯處理導(dǎo)致實(shí)際執(zhí)行的不同于語句(X)。

但我們就是要得到語句(X)的結(jié)果,怎么解決呢?辦法是使用Exec執(zhí)行,如下:
declare @sql nvarchar(3800)
set @sql = 'select * from customer where customerCode in ( '+ @custCodes + ')'
exec ( @sql )
GO


本文題目:如何解決SQLServer中傳入select語句in范圍參數(shù)
標(biāo)題URL:http://www.5511xx.com/article/dposghd.html