怎么没有人回复,too low lever 了吗/?

解决方案 »

  1.   

    临时表的分为全局临时表和局部临时表全局临时表当数据shutdown的时候,数据库系统自动删除局部临时表当用完的时候,系统删除@@全局临时表 
    @局部临时表
      

  2.   

    h_S2000(处理器)说的不完全正确。
    全局临时表当数据库shutdown的时候,数据库系统自动删除
    局部临时表当创建该临时表的事务结束的时候,系统删除
    它们都存储在 tempdb 中## 是全局临时表的前缀
    #  是局部临时表的前缀
      

  3.   

    if object_id('tempdb..#temp') is not null
     drop table #temp
    else 
     select * into #temp from a
      

  4.   

    1)对于你的问题,应该不会冲突除非你用##全局临时表,你可以打开两个查询分析器,在查询分析器中一次登陆,等于一次会话!你可以分别在两个中写:
    select * #aa from 表
    两边不回冲突的!但如果你在同一个查询分析器中,第二次运行时就会报对象已存在的错!
      (打字累.....)现在你知道了吧!
    2)局部临时表的生命周期是会话!当你的一次会话结束时就自动被删除了!
    在同一会话中要用两次的话要显示的写
    drop table #aa
    就OK了!
      

  5.   

    局部临时表其时并不好用。
    当你建军表#aa是,表名其实并不是#aa。系统自动在#aa后加了一串字符。
    所以当你再次想用#aa访问这张表时,你其它找不到它。因你它并不叫#aa
    所以我用时都用GUID建一张全局的。并把表名存进一个全局变量。这样
    以后才可以再访问。
      

  6.   

    VB6.0: 
     ...
      
      conn.Execute ("create table #temptaskidtable (taskid int)") 
      conn.execute ("insert into #temptaskidtable (taskid) (select taskid from aaa where...)")
      infosql = "select * from #temptaskidtable"
        With rs
            .Open infosql, strConn, adOpenKeyset, adLockOptimistic
          ....
         运行到rs.open时,错误:[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 '#temptaskidtable' 无效。
    查询分析器:
       create table #temptaskidtable (taskid int)
       insert into #temptaskidtable (taskid) (select taskid from aaa where...
       select * from #temptaskidtable
       go
      运行成功!
    这是为什么??
    我是了好多次了?就是不行!怪事年年有,今年特别多!
    各位大虾帮帮我?!
    谢谢!!   
      

  7.   

    我试过了
      开两各查询分析器!有冲突!为什么?
      create table #temptaskidtables (taskID bigint PRIMARY KEY not null)
      

  8.   

    sql server 2000的临时表信息保存在哪里?
    我想在创建临时表之前,删除同名的临时表!但要先判断它的存在性!怎么办?
    谢谢所有对此贴表示同情和关注的人
      

  9.   

    你搞错了吧!开两各查询分析器!有冲突吗??我怎么没有!!
    第一个:
    select * into #aa from pubs..jobs
    第二个:
    select * into #aa from pubs..jobs你上面的都只执行一次如果没错就对了!!
      

  10.   

    临时表保存在 tempdb 中,局部临时表只要在同一个进程中不重名就可以,全局临时表只要在一次 Server 启动中不重名就可以。
      

  11.   

    在甲查询分析其中 create table #a (taskid int) 后新开一个乙查询分析器,查看乙的tempdb中的用户表,确实有一个 #a____________________________000aaccdd..的临时表;然后在乙中
    select * from #a或select * from tempdb.#a或
    select * from  #a____________________________000aaccdd
    都会提示临时表名对象无效!?为什么?不是还没释放吗?why?
      

  12.   

    局部临时表 即 #temptable  创建的时候是存放在temp数据库中,它的真正表名是我们创建的临时表名后面加上一长串'_',再加上进程id号。所以两个用户同时创建同名的临时表,是不会冲突的。
      如果想判断临时表是否存在:
        declare @o_id   int 
        select @o_id = object(temp..#temptable)
        if @o_id is not null
          print '临时表#temptable存在'
       删除临时表 和上面同理