Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数组/列表/xml输入参数中选择的sql存储过程_C#_Sql Server 2005_Sql Server 2008 - Fatal编程技术网

C# 从数组/列表/xml输入参数中选择的sql存储过程

C# 从数组/列表/xml输入参数中选择的sql存储过程,c#,sql-server-2005,sql-server-2008,C#,Sql Server 2005,Sql Server 2008,我正在寻找以下问题的想法/解决方案 需要一个接受单个参数(数组、列表、集合、xml等)的存储过程。对于数组/list/collection/xml中的每个项,它将执行如下查询: Select * from <some table> t Where t.Name = Parameter.Name and t.datetime = Parameter.datetime 从t中选择* 其中t.Name=Parameter.Name,t.datetime=Parameter.datetim

我正在寻找以下问题的想法/解决方案

需要一个接受单个参数(数组、列表、集合、xml等)的存储过程。对于数组/list/collection/xml中的每个项,它将执行如下查询:

Select * from <some table> t
Where t.Name = Parameter.Name and t.datetime = Parameter.datetime
从t中选择*
其中t.Name=Parameter.Name,t.datetime=Parameter.datetime
所有结果都将作为单个结果集返回

例如,调用此过程时,将以下详细信息作为参数值传入:

Books 09/09/2009 11:23:23

图书09/09/2009 11:23:23作者04:22:04

书籍09/09/2009 11:23:23作者04:22:04目录9:45:11

寻找各种想法,对其进行压力/计时


感谢重复(多次):您希望这些语句在存储过程中生成而不是在编译代码中生成,有什么原因吗?
CREATE TYPE id_list AS TABLE (
    id int NOT NULL PRIMARY KEY
);
GO

CREATE PROCEDURE [dbo].[tvp_test] (
      @param1           INT
    , @customer_list    id_list READONLY
)
AS
BEGIN
    SELECT @param1 AS param1;

    -- join, filter, do whatever you want with this table 
    -- (other than modify it)
    SELECT *
    FROM @customer_list;
END;
GO

DECLARE @customer_list id_list;

INSERT INTO @customer_list (
    id
)
VALUES (1), (2), (3), (4), (5), (6), (7);

EXECUTE [dbo].[tvp_test]
      @param1 = 5
    , @customer_list = @customer_list
;
GO

DROP PROCEDURE dbo.tvp_test;
DROP TYPE id_list;
GO