使用变量的 SQL Server 批量插入

如何从变量进行批量插入?

Grades我的数据库中有一个表:

PersonId        Marks
---------------------
1                10 
2                15 
3                13 
4                11 

我有这个变量

PersonID varchar = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"
Marks varchar = "0,1,2,5,8,9,4,6,7,3,5,2,7,1,9,4,0,2,5,0"

我想使用批量插入将此值插入到等级表中,如果不同,我想比较表和 var 之间的标记,我将用新标记替换它

约格什·夏尔马

首先,您需要使用XMLMethod拆分数据,然后您可以插入数据Table Variable,您可以通过该数据Grade更新为可用的新标​​记Table Variable:-

DECLARE @ID NVARCHAR(300)= '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20';
DECLARE @Marks NVARCHAR(300)= '0,1,2,5,8,9,4,6,7,3,5,2,7,1,9,4,0,2,5,0';
DECLARE @StudentsMark TABLE
(id    NVARCHAR(300),
 marks NVARCHAR(300)
); 

;WITH CTE
     AS (
     SELECT Split.a.value('.', 'NVARCHAR(MAX)') id,
            ROW_NUMBER() OVER(ORDER BY
                             (
                                 SELECT NULL
                             )) RN
     FROM
     (
         SELECT CAST('<X>'+REPLACE(@ID, ',', '</X><X>')+'</X>' AS XML) AS String
     ) AS A
     CROSS APPLY String.nodes('/X') AS Split(a)),
     CTE1
     AS (
     SELECT Split.a.value('.', 'NVARCHAR(MAX)') marks,
            ROW_NUMBER() OVER(ORDER BY
                             (
                                 SELECT NULL
                             )) RN
     FROM
     (
         SELECT CAST('<X>'+REPLACE(@Marks, ',', '</X><X>')+'</X>' AS XML) AS String
     ) AS A
     CROSS APPLY String.nodes('/X') AS Split(a))
     INSERT INTO @StudentsMark
            SELECT C.id,
                   C1.marks
            FROM CTE C
                 LEFT JOIN CTE1 C1 ON C1.RN = C.RN;
UPDATE G
  SET
      G.Marks = M.marks
FROM grades G
     INNER JOIN @StudentsMark M ON G.PersonId = M.id;
SELECT *
FROM grades;

结果 :

PersonId    Marks
1           0
2           1
3           2
4           5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server:批量插入失败

来自分类Dev

使用ODBC连接从DataTable批量插入SQL Server表

来自分类Dev

使用 pyodbc 批量插入 SQL Server 表:找不到文件

来自分类Dev

SQL Server sqlcmd导出/批量插入问题

来自分类Dev

批量插入期间的SQL Server表锁定

来自分类Dev

SQL Server sqlcmd导出/批量插入问题

来自分类Dev

在SQL Server中使用文本限定符进行批量插入

来自分类Dev

如何使用pyodbc加快从CSV到MS SQL Server的批量插入

来自分类Dev

如何在asp.net中使用SQL Server批量插入?

来自分类Dev

使用 pymssql 将文本文件批量插入 SQL Server

来自分类Dev

批量插入如何在 SQL Server 2017 中使用格式文件跳过列

来自分类Dev

在Hibernate中使用本机SQL批量插入

来自分类Dev

使用SQL批量插入特定值

来自分类Dev

SQL Server批量插入CSV与逗号数据

来自分类Dev

SQL Server批量插入格式文件无法打开

来自分类Dev

SQL Server-批量插入-FIELDQUOTE无法识别双引号

来自分类Dev

从不规则的平面文件批量插入MS SQL Server

来自分类Dev

SQL Server批量插入CSV与逗号数据

来自分类Dev

SQL Server批量插入固定宽度文件失败

来自分类Dev

SQL Server批量插入格式文件无法打开

来自分类Dev

批量插入SQL Server 2012数据库-C#

来自分类Dev

批量插入到SQL Server 2014 DateTime格式的Python代码

来自分类Dev

从FTP批量插入SQL Server:文件路径问题

来自分类Dev

SQL Server和批量插入-何时会发生

来自分类Dev

在SQL Server批量插入的同时,每秒影响多少行?

来自分类Dev

SQL Server批量插入临时表语法错误

来自分类Dev

在 SQL Server 中批量插入数据的最佳方法是什么?

来自分类Dev

从本地文件批量插入数据到远程sql server

来自分类Dev

SQL Server:每晚从文件中批量插入数据

Related 相关文章

  1. 1

    SQL Server:批量插入失败

  2. 2

    使用ODBC连接从DataTable批量插入SQL Server表

  3. 3

    使用 pyodbc 批量插入 SQL Server 表:找不到文件

  4. 4

    SQL Server sqlcmd导出/批量插入问题

  5. 5

    批量插入期间的SQL Server表锁定

  6. 6

    SQL Server sqlcmd导出/批量插入问题

  7. 7

    在SQL Server中使用文本限定符进行批量插入

  8. 8

    如何使用pyodbc加快从CSV到MS SQL Server的批量插入

  9. 9

    如何在asp.net中使用SQL Server批量插入?

  10. 10

    使用 pymssql 将文本文件批量插入 SQL Server

  11. 11

    批量插入如何在 SQL Server 2017 中使用格式文件跳过列

  12. 12

    在Hibernate中使用本机SQL批量插入

  13. 13

    使用SQL批量插入特定值

  14. 14

    SQL Server批量插入CSV与逗号数据

  15. 15

    SQL Server批量插入格式文件无法打开

  16. 16

    SQL Server-批量插入-FIELDQUOTE无法识别双引号

  17. 17

    从不规则的平面文件批量插入MS SQL Server

  18. 18

    SQL Server批量插入CSV与逗号数据

  19. 19

    SQL Server批量插入固定宽度文件失败

  20. 20

    SQL Server批量插入格式文件无法打开

  21. 21

    批量插入SQL Server 2012数据库-C#

  22. 22

    批量插入到SQL Server 2014 DateTime格式的Python代码

  23. 23

    从FTP批量插入SQL Server:文件路径问题

  24. 24

    SQL Server和批量插入-何时会发生

  25. 25

    在SQL Server批量插入的同时,每秒影响多少行?

  26. 26

    SQL Server批量插入临时表语法错误

  27. 27

    在 SQL Server 中批量插入数据的最佳方法是什么?

  28. 28

    从本地文件批量插入数据到远程sql server

  29. 29

    SQL Server:每晚从文件中批量插入数据

热门标签

归档