zoukankan      html  css  js  c++  java
  • 同一对象多条数据同时插入数据库

    执行插入的存储过程

    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

  • 相关阅读:
    String类
    try catch异常捕获
    while循环语句
    编程中穷举法的运用
    for循环例题
    编程中的 if ()else() 语句
    代位符
    运算符_及_运算符优先级
    C#中的类型转换
    Asp.net基础知识
  • 原文地址:https://www.cnblogs.com/ZQiuMei/p/4110459.html
Copyright © 2011-2022 走看看