该存储过程如下:
CREATE PROCEDURE [dbo].[test] AS
begin
select * into ##abc from def
         drop table ##abc
end
begin
select * from def
end
GO在查询分析器中运行正常
可在asp代码中,就无法得到结果,
但如果我把第一段包含select into的begin语句段删掉了,
asp就可以得到结果,请问这是为什么呢???难道供asp调用的存储过程不能有select into语句么????谢谢,在线结贴

解决方案 »

  1.   

    可不可以这样理解:asp调用的存储过程在第一个end那里return了?纯粹猜测!
      

  2.   

    CREATE PROCEDURE [dbo].[test] AS
    begin
    select * into abc from def
             drop table abc
    end
    begin
    select * from def
    end
    GO把临时表改为固定表,完后删除,请试试.
      

  3.   

    CREATE PROCEDURE [dbo].[test] AS
    begin
    select * into abc from def
             drop table abc
    select * from def
    end
    GO
      

  4.   

    CREATE PROCEDURE MY_PROCEDURE AS
    begin
    select * from def
    end
    GO这样行不行?
      

  5.   

    那你的具体需求是什么?创建一表?删除一表?显示一表?CREATE PROCEDURE [dbo].[test] AS
    begin
    select * into abc from def
    select * from abc
             drop table abc
    end
    GO
      

  6.   

    具体的需求是一个查询出多个表,都是用into来获得的,
    然后用这几个表再来一个select语句,
    我用了好几种存储过程的调用方法,从执行的时间上看,
    确实执行了该存储过程,但是执行完却不返回结果,着实让我不明所以
      

  7.   

    具体的需求是一个查询出多个表,都是用into来获得的,
    然后用这几个表再来一个select语句,
    直接在存储过程中用连接来完成,不用新建立表.
      

  8.   

    回楼上,不行,非常复杂,一个sql写不出来,也或许是我水平不够原先写出来过一个sql的,但是执行效率非常差,整理了索引,有改善,但是碍于数据结构最开始就设计的有问题,所以一个sql很难保证效率,最后不得不用大量的临时表来解决问题
      

  9.   

    很明显,返回了两个记录集,应该是接收的问题
    移动到下一个结果集
    set rs = rs.NextRecordset()