sql server中批量插入与更新两种解决方案分享(存储
导读:1建站知识对于sql 来说操作集合类型(一行一行)是比较麻烦的一件事,而一般业务逻辑复杂的系统或项目都会涉及到集合遍历的seo网站优化营销型网站建设。
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 DEseo网站关键词优化CLARE @Name NVARCHAR(50) DECLARE dataItem_cursor CURSOR FOR (SELECT *网站建设制作 FROM split(@dataItem,',')) OPEN dataItem_cursor FETCH NEXT FROM dataItemseo网站优化软件_cursor INTO @Id FETCH NEXT FROM dataItem_cursor INTO @Name CLOSE dataItem_cursor DEALLOCATE dataItem_cursor /* 在这里做逻辑处理,插入或更新操作 ... */ 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+',' /* 在这里做逻辑处理,插入或更新操作 ... */ END SELECT @Results
如果是简单单表批量插入操作的,上面方法大可不必要 作者 keenboy相关seo网站优化营销型网站建设。声明: 本文由我的SEOUC技术文章主页发布于:2023-05-21 ,文章sql server中批量插入与更新两种解决方案分享(存储主要讲述两种,批量,sql server中批量插入与更新两种解决方网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_3901.html