【发布时间】:2011-03-25 09:39:43
【问题描述】:
您好,我在尝试使用 IN 子句更新表时遇到问题,我有一个很大的客户端列表,应该更新 4500+。
Update table
set columnA = 'value'
where ID in ( biglistofids ) //biglistofids > 4500 ids
我收到此错误 "字符串或二进制数据将被截断。"
我用更少的 id 尝试了相同的脚本,比如说 (2000),它运行良好。
我也尝试过使用临时表,但我遇到了同样的错误。
SELECT Id INTO tmpTable FROM dbo.table WHERE id IN (biglistofids) //create temporal table succesfullyUpdate table set columnA = 'value' FROM table INNER JOIN tmpTable ON table.ID = tmpTable.ID
有什么方法可以处理这个问题,而无需为每 2000 条记录重复代码?
提前致谢
【问题讨论】:
标签: sql sql-server sql-server-2005 tsql in-clause