select * into #1 from  (某个多重子句) 
declare @a nvarchar 
select @a=name from tempdb..syscolumns where id=object_id('tempdb..#1') and colorder =1上面这句是用tempdb..来访问临时表么?与#1关联的syscolumns和其他一些系统表都放在了tempdb里?这个tempdb是系统隐含自动生成的吧?如果再一个into #2 则#2 也还是在这个tempdb里哦?不可以用单点号来访问它里面的表是不?

解决方案 »

  1.   

    本地临时表表名在tempdb中会被系统自动加上数字后缀,因此不能直接使用tempdb..本地临时表名方式查询本地临时表。
      

  2.   

    上面这句是用tempdb..来访问临时表么? Yes
    与#1关联的syscolumns和其他一些系统表都放在了tempdb里? Yes
    这个tempdb是系统隐含自动生成的吧? 本身就有的
    如果再一个into #2 则#2 也还是在这个tempdb里哦?Yes,所有临时表都在tempdb里面
    不可以用单点号来访问它里面的表是不?  访问表的格式:数据库名.用户.表名称, 你的那个用户没写,使用当前用户,一般是默认值dbo
      

  3.   

    本地临时表表名在tempdb中会被系统自动加上数字后缀,因此不能直接使用tempdb..本地临时表名方式查询本地临时表。
    ----------------------------------------------------------------------------------------------------------------------------
    更正一下,可以直接以tempdb..本地临时表名方式查询本地临时表.
      

  4.   

    本地临时表表名在tempdb中会被系统自动加上数字后缀,因此不能直接使用tempdb..本地临时表名方式查询本地临时表。什么意思啊?
    select @a=name from tempdb..syscolumns where id=object_id('tempdb..#1') and colorder =1
    这句,如果完整写的话该怎么写啊?
      

  5.   

    这么说来'tempdb..#1'是对的了?