• 同一对象多条数据同时插入数据库


    执行插入的存储过程

    ALTER PROC [dbo].[proc_Products_InfoUpdate]

    @FminAmount VARCHAR(MAX),

         @FmaxAmount VARCHAR(MAX),

         @FrateFloating VARCHAR(MAX)

    AS

    INSERT INTO dbo.Rate_Floating(bakProcId,minAmount,maxAmount,rateFloating)

        SELECT @id,A.istr,B.istr,C.istr  from dbo.fsplit(@FminAmount,',') AS A

        INNER JOIN dbo.fsplit(@FmaxAmount,',') AS B ON A.id=B.ID

        INNER JOIN dbo.fsplit(@FrateFloating,',') AS C ON A.id=C.ID

    上面的 @FminAmount 、@FmaxAmount、@FrateFloating  是参数

    如下:@FminAmount 的值为:张三,李四,王五  @FmaxAmount值为:男,女,男  以此类推

    张三

    19

    李四

    20

    王五

    19

    dbo.fsplit是一个自定义函数,需要传入的参数是:需要分割的字符串,分割字符

    ALTER   function    [dbo].[fsplit](  

     

      @str   varchar(8000)  

      ,@spli   varchar(10)

      )  

      returns   @re   table(id int identity,istr   varchar(8000))  

      as  

      begin  

     

      declare   @i   int,@splen   int  

      select   @splen=len(@spli) ,@i=charindex(@spli,@str)

          while   @i>0  

          begin  

           insert   into   @re   values(left(@str,@i-1) )

               select   @str=substring(@str,@i+@splen,8000)

               ,@i=charindex(@spli,@str)

          end  

      if   @str<>''   insert   into   @re   values(@str)  

      return  

      end

  • 相关阅读:
    OpenCV中的霍夫线变换和霍夫圆变换
    霍夫圆变换
    异或的性质及运用
    不用中间变量交换两个数值变量的值
    图像变换
    STM32程序的启动
    RAM与FLASH
    STM8的AIR与STM32的Keil的指定地址存数据
    HEX与ASCII之间装换
    STM32、Cortex-A、Cortex-R、Cortex-M、SecurCore
  • 原文地址:https://www.cnblogs.com/ZQiuMei/p/4110459.html
Copyright © 2020-2023  润新知