你不用放到临时表就可以啦。
create proc temp
as
@str='select 字段 from 表1,表2 where 条件'
execute( @str)
go

解决方案 »

  1.   

    我也知道不用临时表是好,但是上面的例子是举得太简单了!实际上我的过程是生成复杂的综合报表,一条语句无法出来效果,只能通过临时表再次组织才成功,在查询分析器里运行正常,但是在 ASP 页面里却显示出错!
      

  2.   

    在 SP 中创建的临时表,在 SP 运行结束后会自动销毁。你可以在 SP 的最后, 用 select 将临时表中所有数据输出
      

  3.   

    你用execute @str 就是去调用另一个过程了。上一个过程的临时表当然找不到了。已经销毁了
      

  4.   

    我将存储过程里的 execute @str 改成 select @str,但是它只输出 SQL 语句,并不输出数据来!cmdSQL.CommandText="sp_Sales_List_Total"
    cmdSQL.CommandType=4
    set myrs=cmdSQL.executemyrs(0)竟然输出的是 SQL 语句!
      

  5.   

    不是 select @str是 select #YourTempTable
      

  6.   

    写上:select #temp保存的时候,系统显示:对象名 '#temp' 无效。
      

  7.   

    临时表 #temp 什么结构阿? 你得定义它..
    像下面的:CREATE PROCEDURE upGetOrderSuccessCountInMonth 
    (
        @TransDate  datetime ,
        @DayCountInMonth  int
    )
    AS   declare @i   int 
       set @i=0
       
       CREATE TABLE #TempTable
        (
            Counts int  NULL,     --成功笔数
            AmountSum int  NULL  --成功金额
        )  WHILE @i<@DayCountInMonth
       BEGIN
       INSERT INTO  #TempTable(Counts, AmountSum)
       SELECT COUNT(EpayClientOrderAmount) AS TransCount,
                        SUM(CONVERT(int, EpayClientOrderAmount)) AS TransAmount   
       FROM epayClientOrders 
       WHERE  TransStatus='Y' 
        AND  CONVERT(char(8), epayClientOrders.EpayOrderDateTime, 112)
             >= CONVERT(char(8), dateadd(day,  @i, @TransDate), 112) 
       AND CONVERT(char(8), epayClientOrders.EpayOrderDateTime, 112)
            < CONVERT(char(8), dateadd(day,  @i+1, @TransDate), 112)   set @i=@i+1
      END  SELECT Counts, AmountSum FROM #TempTable
    GO
      

  8.   

    我的临时表不是好象你这个直接生成的,是通过变量动态生成。@str='select 字段 into #temp from 表1,表2 where 条件'最后用 execute @str 或是 select @str 来输出的。所以在 ASP 页面里输出的时候,系统显示对象已经关闭,禁止使用!
      

  9.   

    还是不行!不过在我本机测试,用 asp.net 来显示就没问题,用 asp 显示就出现问题。因为服务器上只能运行 asp,所以别劝我干脆用 asp.net
      

  10.   

    存储过程最后直接输出结果不行吗?非得into #temp?
      

  11.   

    不用 into #temp 的话,中间过程无法直接用语句出来