首頁 資料庫 mysql教程 sql server中批量插入与更新两种解决方案分享(存储过程)

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

Jun 07, 2016 pm 06:05 PM
批量插入 大量更新

对于sql 来说操作集合类型(一行一行)是比较麻烦的一件事,而一般业务逻辑复杂的系统或项目都会涉及到集合遍历的问题,通常一些人就想到用游标,这里我列出了两种方案,供大家参考

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Oracle儲存程序實作批次更新的步驟與注意事項 Oracle儲存程序實作批次更新的步驟與注意事項 Mar 08, 2024 pm 04:12 PM

標題:Oracle預存程​​序實現批次更新的步驟與注意事項在Oracle資料庫中,預存程序是一組為了提高資料庫效能、重複使用程式碼、增強安全性的SQL語句集合,透過預存程序可以實現批次更新資料的操作。本文將介紹如何使用Oracle預存程​​序實現批次更新,並提供具體的程式碼範例。步驟一:建立預存程序首先,我們需要建立一個預存過程,用來實現批次更新的操作。以下是建立預存程序的

Excel資料匯入Mysql常見問題總表:如何解決匯入資料時遇到的大批量插入問題? Excel資料匯入Mysql常見問題總表:如何解決匯入資料時遇到的大批量插入問題? Sep 08, 2023 am 11:07 AM

Excel資料匯入Mysql常見問題總結:如何解決匯入資料時遇到的大批量插入問題?導入Excel資料到MySQL是日常開發中經常遇到的任務之一。對於少量資料的導入,可以使用資料庫客戶端工具或命令列進行插入操作。但當面對大批量資料匯入時,簡單的單一插入操作無疑會導致嚴重的效能問題。本文將介紹如何解決這個問題,並給出相應的程式碼範例。問題描述:在實際使用過程中,

Oracle儲存程序批次更新在資料處理中的應用案例 Oracle儲存程序批次更新在資料處理中的應用案例 Mar 08, 2024 am 10:24 AM

Oracle儲存程序批次更新在資料處理中的應用案例在實際的資料處理中,我們經常需要對資料庫中的大量資料進行更新作業。 Oracle資料庫提供了預存程序的功能,可以有效處理這些大批量資料更新的操作,並提高資料處理效率和效能。在本文中,我們將介紹Oracle預存程​​序批次更新的應用案例,並提供具體的程式碼範例,幫助讀者更好地理解並運用此功能。案例背景假設我們有一個

Vue和Excel的默契合作:如何實現資料的批次更新和匯入 Vue和Excel的默契合作:如何實現資料的批次更新和匯入 Jul 22, 2023 pm 09:03 PM

Vue和Excel的默契合作:如何實現資料的批次更新和匯入引言:隨著資訊科技的快速發展,Excel表格作為一種流行的資料管理工具,被廣泛應用於各個產業和領域。同時,Vue作為一種靈活、高效的前端開發框架,也廣受歡迎。本文將介紹如何透過Vue和Excel的默契合作,實現資料的批次更新和匯入。為了幫助讀者更好地理解,我們將給出程式碼範例。實現資料批量更新:在V

Vue和Excel的高效組合:如何實現資料的批次更新和匯入 Vue和Excel的高效組合:如何實現資料的批次更新和匯入 Jul 21, 2023 pm 10:00 PM

Vue和Excel的高效組合:如何實現資料的批次更新和匯入隨著Web應用程式的不斷發展和資料量的不斷增加,我們經常會遇到需要批次更新和匯入資料的情況。而Excel作為廣泛使用的電子表格工具,具有強大的資料處理和匯入匯出功能,成為我們處理大量資料的首選工具之一。本文將介紹如何使用Vue和Excel實現資料的批次更新和匯入,以提高資料處理的效率。首先,我們需

如何在Hibernate中執行批次插入更新操作? 如何在Hibernate中執行批次插入更新操作? Aug 27, 2023 pm 11:17 PM

在本文中,我們將看到如何在Hibernate中執行批次插入/更新。每當我們執行一條sql語句時,我們都是透過對資料庫進行網路呼叫來完成的。現在,如果我們必須在資料庫表中插入10個條目,那麼我們必須進行10次網路呼叫。相反,我們可以透過使用批次來優化網路呼叫。批次允許我們在單一網路呼叫中執行一組SQL語句。為了理解和實作這一點,讓我們定義我們的實體−@EntitypublicclassParent{@Id@GeneratedValue(strategy=GenerationType.AUTO)

Java開發中如何解決資料庫更新效能問題 Java開發中如何解決資料庫更新效能問題 Jun 29, 2023 pm 01:00 PM

Java開發中如何解決資料庫更新效能問題摘要:隨著資料量的增加和業務的變化,資料庫更新的效能問題成為了Java開發中一大挑戰。本文將介紹一些常見的解決資料庫更新效能問題的方法和技巧。關鍵字:Java開發,資料庫,更新效能問題,解決方法引言:在大多數Java應用程式中,資料庫扮演著重要的角色。資料庫的效能直接影響了應用程式的反應速度和穩定性。而在實際開發中,數

MySQL中的批次更新方法 MySQL中的批次更新方法 Jun 15, 2023 pm 11:36 PM

MySQL是一種廣泛使用的關聯式資料庫管理系統,其提供了許多有效的資料操作方法。當需要更新大量資料時,可以使用批次更新方法來提高效率。本文將介紹MySQL中的批次更新方法。一、什麼是批次更新?批次更新是指透過一條SQL語句來更新多個資料行。相較於每次更新一行的方法,批次更新能夠有效降低資料庫的負載和網路傳輸時間,提升資料操作的效率和速度。二、批次更新的實現方

See all articles