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  

  • 相关阅读:
    九度OJ 1014:排名 (排序)
    九度OJ 1013:开门人和关门人 (排序)
    九度OJ 1012:畅通工程 (最小生成树)
    Java高级工程师(一)
    FastJson JSON对象及JavaBean之间的相互转换
    webservice 和 RESTful API 接口调用
    [转] jqGrid 属性 事件 合集
    Jqgrid 事件重新设置行数据, 以及 Thymeleaf js下获取model的值
    mybatis配置文件说明--- 注重顺序
    美丽的for循环语句
  • 原文地址:https://www.cnblogs.com/systemxgl/p/1756929.html
Copyright © 2011-2022 走看看