• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sql server中批量插入与更新两种解决方案分享(存储过程)

    1.游标方式

    复制代码 代码如下:

    DECLARE @Data NVARCHAR(max)
    SET @Data='1,tanw,2,keenboy' --Id,Name
    DECLARE @dataItem NVARCHAR(100)
    DECLARE data_cursor CURSOR FOR (SELECT * FROM split(@Data,';'))
    OPEN data_cursor
    FETCH NEXT FROM data_cursor INTO @dataItem
    WHILE @@FETCH_STATUS=0
    BEGIN
    DECLARE @Id INT
    DECLARE @Name NVARCHAR(50)

    DECLARE dataItem_cursor CURSOR FOR (SELECT * FROM split(@dataItem,','))
    OPEN dataItem_cursor
    FETCH NEXT FROM dataItem_cursor INTO @Id
    FETCH NEXT FROM dataItem_cursor INTO @Name
    CLOSE dataItem_cursor
    DEALLOCATE dataItem_cursor

    /*
    在这里做逻辑处理,插入或更新操作 ...
    www.jb51.net
    */
    END
    CLOSE data_cursor
    DEALLOCATE data_cursor

    2.While方式
    复制代码 代码如下:

    DECLARE @Data NVARCHAR(max)
    SET @Data='tanw,keenboy' --Id,Name

    DECLARE @Temp TABLE
    (
    Id INT IDENTITY(1,1),
    Name NVARCHAR(50)
    )
    DECLARE @Id INT
    DECLARE @Name NVARCHAR(50)
    DECLARE @Results NVARCHAR(MAX) SET @Results=''
    INSERT INTO @Temp SELECT (SELECT * FROM split(@Data,';'))

    WHILE EXISTS(SELECT * FROM @Temp)
    BEGIN
    SELECT TOP 1 @Id=Id,@Name=Name from @Temp
    DELETE FROM @Temp where [id] = @Id
    SET @Results=@Results+@Name+','
    www.jb51.net
    /*
    在这里做逻辑处理,插入或更新操作 ...
    */
    END
    SELECT @Results

    如果是简单单表批量插入操作的,上面方法大可不必要

    作者 keenboy

    您可能感兴趣的文章:
    • SQLServer批量更新两个关联表数据的方法
    • SQLServer用存储过程实现插入更新数据示例
    • SQLSERVER 本地查询更新操作远程数据库的代码
    • 数据库更新Sqlserver脚本总结
    • sql server中批量插入与更新两种解决方案分享(asp.net)
    • Sqlserver 2005使用XML一次更新多条记录的方法
    • SQL Server自动更新统计信息的基本算法
    • SQL Server 利用触发器对多表视图进行更新的实现方法
    • SQL Server实现显示每个类别最新更新数据的方法
    上一篇:sqlserver中查询横表变竖表的sql语句简析
    下一篇:sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql server中批量插入与更新两种解决方案分享(存储过程) sql,server,中,批量,插入,与,