然后在存储过程中用SubString配合CharIndex把分割开来。
用SQL2000 OpenXML简单,效率更高,代码可读:
CREATE Procedure [dbo].[ProductListUpdateSpecialList]
(
@ProductId_Array NVARCHAR(2000),
@ModuleId INT
)
AS
delete from ProductListSpecial where ModuleId=@ModuleId
-- If empty, return
IF (@ProductId_Array IS NULL OR LEN(LTRIM (RTRIM(@ProductId_Array))) = 0)
RETURN
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @ProductId_Array
Insert into ProductListSpecial (ModuleId,ProductId)
Select @ModuleId,C.[ProductId] FROM OPENXML(@idoc, '/Products/Product', 3)
with (ProductId int ) as C
where C.[ProductId] is not null
EXEC sp_xml_removedocument @idoc