Альтернативный подход, который работает с SQL 2000, заключается в использовании XML.
Сделайте так, чтобы программа / приложение форматировало целые числа следующим образом:
'<root><TMP J="111"/><TMP J="222"/><TMP J="333"/></root>'
.
Затем создайте следующеехранимая процедура:
CREATE PROCEDURE UpDateIntsFromXML (
@sXML TEXT
)
AS
DECLARE @iDoc INT
EXEC sp_xml_preparedocument @iDoc OUTPUT, @sXML
UPDATE YourTable
SET YourColumn = 'fixed value'
FROM OPENXML (@iDoc, '/root/TMP', 1) WITH (J INT) AS X
WHERE X.J = YourTable.IntColumn
EXEC sp_xml_removedocument @iDoc
RETURN
.
Тогда ваше приложение может вызвать этот SP, передавая потенциально огромный блок текста / XML.
Обратите внимание, что root
, TMP
,и J
чувствительны к регистру.