如何从存储过程中输出函数的表中获取值

时间:2010-11-16 03:36:05

标签: sql sql-server sql-server-2005 tsql

这是存储过程中的一个语句,它提供包含日期的表输出 DT:

SELECT [Dt] 
  FROM dbo.fnGetDatesforWeekDays(@dafromDate, @datoDate, @WKDAYS) AS DAT

如何逐个获取这些日期值?

2 个答案:

答案 0 :(得分:0)

如果你需要逐个处理它们,你需要使用游标并循环遍历游标:

DECLARE @Dt DATETIME

DECLARE date_cursor CURSOR
FOR
SELECT [Dt]  
  FROM dbo.fnGetDatesforWeekDays(@dafromDate, @datoDate, @WKDAYS) AS DAT 

OPEN date_cursor

FETCH NEXT FROM date_cursor INTO @Dt

WHILE @@FETCH_STATUS <> -1
BEGIN
--do your processing here

FETCH NEXT FROM date_cursor INTO @Dt

END

CLOSE date_cursor

DEALLOCATE date_cursor

只要对评论所针对的每个日期做任何你想做的事情,你都可以去做。

答案 1 :(得分:0)

是的,你可以(光标,循环,......)..但你不应该。请发布您想要完成的内容,并且最有可能存在更好的基于集合的解决方案。