--定义一个临时表declare @a varchar(20)
DECLARE authors_cursor CURSOR FOR
select d1.stationid from dtline d join dtline d1 
on d.mtlineid=d1.mtlineid 
where d.stationid =6 and d.mtlineid<=112OPEN authors_cursorFETCH NEXT FROM authors_cursor
INTO @aWHILE @@FETCH_STATUS = 0
BEGIN
   insert into #re exec lzc @a,'533'  --定义临时表
   FETCH NEXT FROM authors_cursor
   INTO @a
ENDselect * from #re  --结果..CLOSE authors_cursor
DEALLOCATE authors_cursor
GO

解决方案 »

  1.   

    --你的临时表定义要根据你的返回值结构来定义
    --如:Create Table #Re(A int,B int,C int)declare @a varchar(20)
    DECLARE authors_cursor CURSOR FOR
    select d1.stationid from dtline d join dtline d1 
    on d.mtlineid=d1.mtlineid 
    where d.stationid =6 and d.mtlineid<=112OPEN authors_cursorFETCH NEXT FROM authors_cursor
    INTO @aWHILE @@FETCH_STATUS = 0
    BEGIN
       insert into #re(A,B,C) exec lzc @a,'533'  --定义临时表
       FETCH NEXT FROM authors_cursor
       INTO @a
    ENDselect * from #re  --结果..CLOSE authors_cursor
    DEALLOCATE authors_cursor
    GO--最后删除临时表
    --Drop Table #re
      

  2.   

    --临时表当然要定义啊!,定义后就能用,
    --临时表是存放在TempDb数据库中,数据库断开连接就释放了!和物理表当然就不一样了!
    --##还有一个全局临时表
    --具体的区别,看帮助 ! F1