Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
Asp.net 将Select命令作为参数传递并在temp表中执行_Asp.net_.net_Sql_Sql Server 2008 - Fatal编程技术网

Asp.net 将Select命令作为参数传递并在temp表中执行

Asp.net 将Select命令作为参数传递并在temp表中执行,asp.net,.net,sql,sql-server-2008,Asp.net,.net,Sql,Sql Server 2008,我想将SELECT查询作为参数传递给SQLServer2008中的存储过程。 在该sp中,执行该查询并存储到临时表,然后我想在该临时表的2字段上循环一个游标 那我怎么做呢?? 主要是这一部分:执行该查询并存储到临时表 编辑: 查询: SELECT * FROM SomeView WHERE COL1 = '1' AND COL = GETDATE() ORDER BY COL0 SomeView中有许多字段,但我只需要2:COLS1,CLOS2 我只想在这两个字段上循环光标以下是如何将动态SQ

我想将SELECT查询作为参数传递给SQLServer2008中的存储过程。 在该sp中,执行该查询并存储到临时表,然后我想在该临时表的2字段上循环一个游标

那我怎么做呢?? 主要是这一部分:执行该查询并存储到临时表

编辑:

查询:

SELECT * FROM SomeView WHERE COL1 = '1' AND COL = GETDATE() ORDER BY COL0
SomeView中有许多字段,但我只需要2:COLS1,CLOS2
我只想在这两个字段上循环光标

以下是如何将动态SQL查询的查询结果存储到临时表:

DECLARE @sql NVARCHAR(1000)
SET @sql = 'SELECT COL1, COL2 FROM SomeView WHERE COL1 = ''1'' AND COL = GETDATE() ORDER BY COL0'

CREATE TABLE #temp(col1 <yourDataType>, col2 <yourDataType>)
INSERT INTO #temp EXEC sp_executesql @sql

但您确实应该考虑替代光标,游标会降低性能,光标逐行运行,而查询则基于设置操作。SQL Server针对基于集合的数据访问进行了优化。如果您可以编写查询,请不要使用游标。

请阅读,它将回答您有关动态sql的所有问题。我想你需要一个全球临时表好的。。。。。。。。。。。您的查询和存储过程在哪里?非常感谢。。。但是我必须先检查每一行,然后更新那一行。。。COL1和COL2只是ID。。。感谢您的建议。好消息:我在临时表的帮助下删除了光标。。。Thanks@Sac太好了,不用客气,我感觉光标并不是那么需要: