1. 全局临时表所有会话可见
2. 表变量不可以
3。 可以用:    SELECT *
    into #
    FROM OPENROWSET('SQLOLEDB',
                    '服务器名';'用户名';'密码',
                    'set nocount on
                     set fmtonly off
                     exec proc2
                    '
                   )

解决方案 »

  1.   

    SELECT *
        into #
        FROM OPENROWSET('SQLOLEDB',
                        '服务器名';'用户名';'密码',
                        'set nocount on
                         set fmtonly off
                         exec proc2
                        '
                       )
    --好方法
      

  2.   

    如果pro1、pro2 在同一数据库, '服务器名';'用户名';'密码',  这个参数能不能用某个缺省值代替,表示是当前连接呢?
      

  3.   

    -_-! 晕死,新问题pro2 是有输入参数的,  OPENROWSET 不接受参数变量。
    大侠支招啊~~
      

  4.   

    用动态sql语句: declare @sql varchar(8000)
            ,@para1 int
            ,@para2 varchar(20)
    set @sql='
              SELECT *
                  into #
                  FROM OPENROWSET(''SQLOLEDB'',
                                  ''服务器名'';''用户名'';''密码'',
                                  ''set nocount on
                                   set fmtonly off
                                   exec proc2 '+convert(varchar,@para1)+','''''+@para2+'''''
                                  ''
                                 )'exec(@sql)
      

  5.   

    用动态sql语句: declare @sql varchar(8000)
            ,@para1 int
            ,@para2 varchar(20)
    set @sql='
              SELECT *
                  into ##
                  FROM OPENROWSET(''SQLOLEDB'',
                                  ''服务器名'';''用户名'';''密码'',
                                  ''set nocount on
                                   set fmtonly off
                                   exec proc2 '+convert(varchar,@para1)+','''''+@para2+'''''
                                  ''
                                 )'exec(@sql)然后:select * from ##