网站建设怎么更换图片,网页设计技术学什么,专业的东莞网站排名,郑州装修公司哪家好在工作中遇到一个问题#xff0c;因为项目很老#xff0c;代码很不规范#xff0c;出现一种场景#xff1a;
查询所有客户(5w条以上)#xff0c;然后根据客户Id#xff0c;再去其他表查询#xff0c;代码中是直接将customerId拼接到sql中去查询#xff0c;形成的sql如…在工作中遇到一个问题因为项目很老代码很不规范出现一种场景
查询所有客户(5w条以上)然后根据客户Id再去其他表查询代码中是直接将customerId拼接到sql中去查询形成的sql如下
select * from CustomerAddress where customerId in (1,2,3,........52000)
这样就会达到数据库对in元素中的个数的限制虽然sqlserver没有明确的限制但受到各种因素的影响还是有上限的。
解决方案当然是尽量避免这种动态拼接大批量的in元素。但是就像我遇到的这种不得不拼接的可以使用XML示例如下
declare Ids nvarchar(max) 1,2,3,4,....,N;
select * from TableName where ColumnName in (select value from string_split(Ids,,));