zoukankan      html  css  js  c++  java
  • SQL SERVER 临时表与表变量的使用方法

    SQL  SERVER的临时表有本地临时表和全局临时表之分,在联机丛书中这样描述:

    有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 Microsoft® SQL Server™ 2000 实例断开连接时被删除。全局临时表的名称以数学符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。


    在存储过程中创建的本地临时表,相当于存储过程的变量,只在存储过程内可见,而在前台程序中创建的本地临时表,就和微软联机丛书中所写的一样,是对当前的用户连接可见。了解了这些,可以在不同场合不同需求下使用不同的方法来创建本地临时表,这样,会使临时表发挥它最大的用处。
    The sql code:
    1.     
    2. /*****************表变量********************/    
    3.  declare @t table(     
    4. cataid int     
    5. )    
    6.   
    7.  insert into @t select a.cataid from f_getchlid(27,'5961051') a     
    8.  select top 10 favorites.*,multicata.cataname     
    9.  from favorites left outer join multicata on favorites.cataid=multicata.cataid     
    10.  where favorites.userid='5961051' and favorites.cataid in (     
    11.  select * from @t)     
    12.   
    13.   
    14. /****************临时表************************/    
    15. 方法一、    
    16.  select a.cataid into #t from f_getchlid(27,'5961051') a     
    17.  select top 10 favorites.*,multicata.cataname     
    18.  from favorites left outer join multicata on favorites.cataid=multicata.cataid     
    19.  where favorites.userid='5961051' and favorites.cataid in (     
    20.  select * from #t)     
    21. drop table #t    
    22.   
    23.   
    24. 方法二、    
    25. create table #t (    
    26. cataid int    
    27. )    
    28. insert into #t select a.cataid from zhaoguoguang.f_getchlid(27,'5961051') a    
    29. select top 10 favorites.*,multicata.cataname    
    30. from favorites left outer join multicata on favorites.cataid=multicata.cataid    
    31. where favorites.userid='5961051' and favorites.cataid in (    
    32. select * from #t)    
    33. drop table #t  

  • 相关阅读:
    Study Plan The TwentySecond Day
    Study Plan The Nineteenth Day
    Study Plan The TwentySeventh Day
    Study Plan The Twentieth Day
    Study Plan The TwentyFirst Day
    python实现进程的三种方式及其区别
    yum makecache
    JSONPath 表达式的使用
    oracle执行cmd的实现方法
    php daodb插入、更新与删除数据
  • 原文地址:https://www.cnblogs.com/systemxgl/p/1756929.html
Copyright © 2011-2022 走看看