zoukankan      html  css  js  c++  java
  • 不在程序里控制,同时插入N条数据

    由于SQL Sever不支持数组参数.所以只能用另类的办法了.利用SQL Server强大的字符串处理传把数组格式化为类似"1,2,3,4,5,6"。

    然后在存储过程中用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

  • 相关阅读:
    Python格式化字符 %s %d %f
    FTP学习笔记
    万维网
    TCP笔记
    TCP流量控制
    笔记传输层
    传输层协议
    网络层
    以太网笔记
    计算机网络物理层
  • 原文地址:https://www.cnblogs.com/myssh/p/1506159.html
Copyright © 2011-2022 走看看