最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sql server中批量插入與更新兩種解決方案分享(存儲過程)

 更新時間:2012年05月10日 22:40:07   作者:  
對于sql 來說操作集合類型(一行一行)是比較麻煩的一件事,而一般業(yè)務(wù)邏輯復(fù)雜的系統(tǒng)或項目都會涉及到集合遍歷的問題,通常一些人就想到用游標,這里我列出了兩種方案,供大家參考

1.游標方式

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

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.fzitv.net
*/
END
CLOSE data_cursor
DEALLOCATE data_cursor

2.While方式
復(fù)制代碼 代碼如下:

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.fzitv.net
/*
在這里做邏輯處理,插入或更新操作 ...
*/
END
SELECT @Results

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

作者 keenboy

相關(guān)文章

  • SqlServer 垂直分表(減少程序改動)

    SqlServer 垂直分表(減少程序改動)

    當單表數(shù)據(jù)太多時,我們可以水平劃分,參考 SqlServer 分區(qū)視圖實現(xiàn)水平分表 ,水平劃分可以提高表的一些性能
    2021-04-04
  • group by 按某一時間段分組統(tǒng)計并查詢(推薦)

    group by 按某一時間段分組統(tǒng)計并查詢(推薦)

    這篇文章主要介紹了group by 按某一時間段分組統(tǒng)計并查詢,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • SQL語句中的DDL類型的數(shù)據(jù)庫定義語言操作

    SQL語句中的DDL類型的數(shù)據(jù)庫定義語言操作

    這篇文章主要介紹了SQL語句中的DDL類型的數(shù)據(jù)庫定義語言,主要是用來定義數(shù)據(jù)庫中的對象的,例如數(shù)據(jù)庫、表和字段的定義,簡單的理解就是DDL語言是來操作數(shù)據(jù)庫、表和字段的,需要的朋友可以參考下
    2022-08-08
  • SQL2008的sa賬戶被禁用其他賬戶無法連接的快速解決方法

    SQL2008的sa賬戶被禁用其他賬戶無法連接的快速解決方法

    這篇文章主要介紹了SQL2008的sa賬戶被禁用其他賬戶無法連接的快速解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • SQL Server的死鎖說明

    SQL Server的死鎖說明

    死鎖是導(dǎo)致數(shù)據(jù)庫中的競爭性并發(fā)鎖,通常在多步驟事務(wù)中。當兩個或多個任務(wù)永久相互阻止時,每個任務(wù)都鎖定了其他任務(wù)嘗試鎖定的資源,就會發(fā)生死鎖。本文主要介紹了SQL Server的死鎖,感興趣的朋友可以參考閱讀
    2023-04-04
  • SQL server 2019數(shù)據(jù)庫安裝教程詳解

    SQL server 2019數(shù)據(jù)庫安裝教程詳解

    SQL Server 是Microsoft?公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,Microsoft SQL Server?數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,本章教程,介紹一下SQL Server 2019的安裝過程
    2024-09-09
  • 關(guān)于數(shù)據(jù)庫優(yōu)化問題收集匯總

    關(guān)于數(shù)據(jù)庫優(yōu)化問題收集匯總

    筆者在工作實踐中發(fā)現(xiàn),不良的SQL往往來自于不恰當?shù)乃饕O(shè)計、不充份的連接條件和不可優(yōu)化的where子句。以下就對數(shù)據(jù)庫優(yōu)化問題進行了介紹,需要的朋友可以參考下
    2013-07-07
  • 用sql獲取某字符串中的數(shù)字部分的語句

    用sql獲取某字符串中的數(shù)字部分的語句

    此方法可以解決查詢某字段中數(shù)字部分為固定值的記錄,字母部分為定值類似
    2009-09-09
  • sql 刪除表中的重復(fù)記錄

    sql 刪除表中的重復(fù)記錄

    本文主要介紹了sql 刪除表中的重復(fù)記錄的方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 使用SqlBulkCopy時應(yīng)注意Sqlserver表中使用缺省值的列

    使用SqlBulkCopy時應(yīng)注意Sqlserver表中使用缺省值的列

    今天,想將以前做的一個程序增加點功能,原本就使用SqlBulkCopy批量、定時的從目錄中的txt文件導(dǎo)入數(shù)據(jù)到Sqlserver中。以前一直都使用正常,但是不知怎的就老是出現(xiàn)一個錯誤
    2012-07-07

最新評論

汶上县| 尖扎县| 图们市| 枣阳市| 开阳县| 鞍山市| 金门县| 永泰县| 沿河| 德庆县| 疏附县| 忻州市| 河曲县| 乳源| 北宁市| 台东县| 峨山| 乐至县| 广州市| 湖南省| 日土县| 平塘县| 台山市| 嵊州市| 喀喇沁旗| 西和县| 莆田市| 浪卡子县| 全南县| 呼玛县| 赣榆县| 敖汉旗| 通城县| 怀柔区| 阿坝县| 原平市| 肇庆市| 天峻县| 福建省| 温泉县| 卢龙县|