国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

關(guān)于sql server批量插入和更新的兩種解決方案

2020-07-25 13:06:51
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

.游標(biāo)方式 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

 /*
   在這里做邏輯處理,插入或更新操作 ...
 */
 END

 CLOSE data_cursor
 DEALLOCATE data_cursor

復(fù)制代碼 代碼如下:

.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

如果是簡(jiǎn)單單表批量插入操作的,上面方法大可不必要

 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿图什市| 宁夏| 腾冲县| 高唐县| 诏安县| 台北市| 米林县| 松溪县| 德安县| 清镇市| 独山县| 遵义市| 广德县| 神池县| 稷山县| 富宁县| 台安县| 兴化市| 都江堰市| 阿拉善左旗| 渝中区| 灵川县| 瑞金市| 平度市| 东兰县| 南平市| 留坝县| 和林格尔县| 美姑县| 舞阳县| 古丈县| 阳东县| 上高县| 四子王旗| 无极县| 汝阳县| 全州县| 梓潼县| 桑植县| 定陶县| 昌邑市|