Asp.net 将Select命令作为参数传递并在temp表中执行
我想将SELECT查询作为参数传递给SQLServer2008中的存储过程。 在该sp中,执行该查询并存储到临时表,然后我想在该临时表的2字段上循环一个游标 那我怎么做呢?? 主要是这一部分:执行该查询并存储到临时表 编辑: 查询: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 * 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太好了,不用客气,我感觉光标并不是那么需要: