最近遇到一个问题,在SQLServer中,需要根据用户传入的一系列ID值更新对应的记录.有两种方法,一种是将这些ID值使用逗号分隔,拼接成字符串传入,一种是以表变量的方式传入.最开始,我想当然的认为传入表变量要比传入字符串再拆分效果要好,结果发现并没有这么简单. 1.传入字符串再拆分 declare @list varchar(max) set @list='20008,20021,20038,20048,20081,20105,20106,20117,20142,20151,20157,201