希望在明天

如果,你没有耐心等待成功的到来,那么,你将用一生的耐心去面对失败。

生成SQL语句字符串,通过存储过程执行

/*使用游标,临时生成Sql语句*/
DECLARE mealcursor CURSOR FOR Select * From T_MealOrderAuto
declare @count as int
declare @sqlstr as nvarchar(4000)/*长度最大,如果太长会出错*/
declare @id as int

/*set @sqlstr = ''
Create table T_ID_Count(
  autoid int,
                quantity int
 )
*/
open mealcursor
FETCH NEXT FROM mealcursor into @id
WHILE @@FETCH_STATUS = 0
BEGIN  
 
 set @count = (Select Quantity From T_MealOrderAuto Where AutoID=@id)
 While(@count>0)
  begin
   if @sqlstr = ''
    set @sqlstr = @sqlstr + 'Select *,DateAdd(Day,' + cast(@count as nvarchar(10)) + ',CreateDateTime) as aaa From T_MealOrderAuto Where AutoID='+cast(@id as nvarchar(10))
   else
    set @sqlstr = @sqlstr + ' union Select *,DateAdd(Day,' + cast(@count as nvarchar(10)) + ',CreateDateTime) as aaa From T_MealOrderAuto Where AutoID='+cast(@id as nvarchar(10))  

   set @count=@count-1
  end
 FETCH NEXT FROM mealcursor into @id
END

close mealcursor
/*调用存储过程,执行sql变量*/

exec sp_executesql @sqlstr

posted on 2005-07-13 17:28  蒜头  阅读(1459)  评论(0编辑  收藏  举报

导航