使用存储过程将值列表插入到SQL Server表中

SH.Developer

如何将列数据列表传递到存储过程中?

我的存储过程是

ALTER PROCEDURE [dbo].[Register]
    @Id        int,
    @Name nvarchar(50)
AS
BEGIN
    BEGIN TRY
        INSERT INTO dbo.Group (Id, Name) 
        VALUES(@Id, @Name)

        SELECT 0
    END TRY
    BEGIN CATCH
        SELECT -1
    END CATCH
END
GO

我想要传递这样的数据以插入到此表中

@Id = 1,2,3,4,5 
@Name = 'test1,test2,test3,test4,test5'

结果像这样

Id   Name
1    test1
2    test2
3    test3
4    test4
5    test5
marc_s

SQL Server中的“列表”或“数组”是...因此,如果您使用的是SQL Server 2008或更高版本(未指定),请使用SQL Server表值参数功能将值表传递给存储过程

-- Create a table type to match your input parameters
CREATE TYPE IdNameTable AS TABLE 
( ID INT, Name NVARCHAR(50) );
GO

-- change your stored procedure to accept such a table type parameter
ALTER PROCEDURE [dbo].[Register]
    @Values IdNameTable READONLY
AS
BEGIN
    BEGIN TRY
        INSERT INTO dbo.Group (Id, Name) 
          -- get the values from the table type parameter
          SELECT 
             Id, Name
          FROM
             @Values

        SELECT 0
    END TRY
    BEGIN CATCH
        SELECT -1
    END CATCH
END
GO

有关表值参数功能及其使用方法的更多详细信息,请参阅大量免费的 SQL Server联机丛书文档

如果要从T-SQL使用此代码,请使用以下代码:

-- declare a variable of that table type
DECLARE @InputTable IdNameTable

-- insert values into that table variable
INSERT INTO @InputTable(ID, Name) 
VALUES (1, 'Test 1'), (2, 'Test 2')

-- execute your stored procedure with this table as input parameter
EXECUTE [dbo].[Register] @InputTable

如果要从C#或VB.NET使用此功能,请参阅Michael Edenfield的注释链接。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用存储过程将数组插入到SQL的表中

来自分类Dev

使用过程 SQL SERVER 在表中插入值

来自分类Dev

SQL Server 将表列插入到存储过程

来自分类Dev

SQL Server存储过程:遍历表,比较值,在值更改时插入到其他表

来自分类Dev

我可以使用一个存储过程将值插入到两个表中吗

来自分类Dev

用于插入的SQL Server存储过程会运行,但不会在表中插入值

来自分类Dev

使用 oracle 后中断列值并使用存储过程插入到表中

来自分类Dev

SQL Server:使用一个动态查询、常量等将值插入到表中

来自分类Dev

如何使用外键将值插入到现有的 SQL Server 表中

来自分类Dev

将日期值从用户定义的表传递到 SQL Server 2008 存储过程

来自分类Dev

如何将列的每个值从表传递到存储过程并将结果保存到SQL-Server中的表中

来自分类Dev

如何使用存储过程调用Web服务,该存储过程返回json并使用sql server将数据存储在表中?

来自分类Dev

在SQL Server中使用插入存储过程

来自分类Dev

使用存储过程截断SQL Server中的多个表

来自分类Dev

存储过程未在表中插入值

来自分类Dev

SQL Server 2012使用存储过程将存储过程的返回值写入单元格

来自分类Dev

SSIS SQL Server 2008 R2-传递给存储过程后,将日期时间存储到表中

来自分类Dev

将下拉列表中的值插入到 MySQL 表中

来自分类Dev

在SQL Server表中插入对象列表

来自分类Dev

将一个表中的值插入到 SQL Server 中的另一个表中

来自分类Dev

仅当先前值小于插入表 SQL Server 的新值时才开始存储过程

来自分类Dev

SQL 2014 存储过程插入到表检查为空的表中

来自分类Dev

插入来自不同过程的值,这些过程将并行运行到plsql中的表

来自分类Dev

插入来自不同过程的值,这些过程将并行运行到plsql中的表

来自分类Dev

使用表中的值执行存储过程SQL

来自分类Dev

从单个变量SQL存储过程插入表值

来自分类Dev

我想分割逗号分隔的值,然后将每个值插入到mysql存储过程中的另一个表中

来自分类Dev

sql server存储过程插入值作为输出参数

来自分类Dev

如何将值的行传递到SQL Server存储过程?

Related 相关文章

  1. 1

    使用存储过程将数组插入到SQL的表中

  2. 2

    使用过程 SQL SERVER 在表中插入值

  3. 3

    SQL Server 将表列插入到存储过程

  4. 4

    SQL Server存储过程:遍历表,比较值,在值更改时插入到其他表

  5. 5

    我可以使用一个存储过程将值插入到两个表中吗

  6. 6

    用于插入的SQL Server存储过程会运行,但不会在表中插入值

  7. 7

    使用 oracle 后中断列值并使用存储过程插入到表中

  8. 8

    SQL Server:使用一个动态查询、常量等将值插入到表中

  9. 9

    如何使用外键将值插入到现有的 SQL Server 表中

  10. 10

    将日期值从用户定义的表传递到 SQL Server 2008 存储过程

  11. 11

    如何将列的每个值从表传递到存储过程并将结果保存到SQL-Server中的表中

  12. 12

    如何使用存储过程调用Web服务,该存储过程返回json并使用sql server将数据存储在表中?

  13. 13

    在SQL Server中使用插入存储过程

  14. 14

    使用存储过程截断SQL Server中的多个表

  15. 15

    存储过程未在表中插入值

  16. 16

    SQL Server 2012使用存储过程将存储过程的返回值写入单元格

  17. 17

    SSIS SQL Server 2008 R2-传递给存储过程后,将日期时间存储到表中

  18. 18

    将下拉列表中的值插入到 MySQL 表中

  19. 19

    在SQL Server表中插入对象列表

  20. 20

    将一个表中的值插入到 SQL Server 中的另一个表中

  21. 21

    仅当先前值小于插入表 SQL Server 的新值时才开始存储过程

  22. 22

    SQL 2014 存储过程插入到表检查为空的表中

  23. 23

    插入来自不同过程的值,这些过程将并行运行到plsql中的表

  24. 24

    插入来自不同过程的值,这些过程将并行运行到plsql中的表

  25. 25

    使用表中的值执行存储过程SQL

  26. 26

    从单个变量SQL存储过程插入表值

  27. 27

    我想分割逗号分隔的值,然后将每个值插入到mysql存储过程中的另一个表中

  28. 28

    sql server存储过程插入值作为输出参数

  29. 29

    如何将值的行传递到SQL Server存储过程?

热门标签

归档