Alter Proc Test
@flag varchar(50)
AS
BEGIN
Declare @sql varchar(1000)
set @sql='select * into #test From goods Where goodsId='+@flag
exec(@sql)
select * from #test
END
Go
exec Test '1'
代码如上 如何才能将select * from #test这个执行出来,求教高人。
PS:这只是写的一个小的测试代码,想问的是这个问题!

解决方案 »

  1.   

    Alter Proc Test
    @flag varchar(50)
    AS
    BEGIN
    Declare @sql varchar(1000)
    set @sql='select * into ##test From goods Where goodsId='+@flag
    exec(@sql)
    select * from ##test
    END
    Go
    exec Test '1'
      

  2.   

    Alter Proc Test
    @flag varchar(50)
    AS
    BEGIN
    Declare @sql varchar(1000)
    set @sql='select * into ##test From goods Where goodsId='''+@flag+''''
    exec(@sql)
    select * from ##test
    END
    Go
    exec Test '1'
      

  3.   

    这样什么时候##test这个表能取消掉 也就说再进行一次插入?
      

  4.   

    你DROP TABLE ##TEST
    或你重启服务器的时候
      

  5.   

    Alter Proc Test
    @flag varchar(50)
    AS
    BEGIN
    Declare @sql varchar(1000)
    select * into #test From goods Where goodsId=@flag
    select * from #test
    END
    Go
    exec Test '1'
    这样不行吗