ITXP365(智码IT网)

分享电脑知识,传播IT技巧

致敬爱学习的您,祝您访问愉快!

SqlServer中使用临时表示例


发布:智码IT网   阅读:
实际工作中,通常会将一些查询结果作为表,再关联其他表查询,如
SELECT 
  * 
FROM   
  (SELECT * FROM Person WHERE age > 18 AND sex = 0 ) AS tb1
WHERE
name LIKE '%张%'

这样做虽然能达到目的,但是缺点是结构不清晰,可阅读性不强,如果临时查询的内容逻辑相对复杂,代码量大的话,就很难阅读、修改和调试了,特别是阅读别人的代码的时候,体会会更为深刻。使用临时表就能很好的解决这样的问题。其具体优点如下:

1、临时表不是数据库里面的真实表,它在一个会话周期内有效,会话关闭后,临时表也就自动消失了;
2、临时表具有可阅读性强的特点,我们可以给临时表取一个有意义的名字,读代码的时候,就能够通过临时表的名称,大概知道这段查询的大概意思,而不用非得每次都去了解查询的具体逻辑;
3、便于调试。临时查询结果不方便独立查询,而临时表可以像真实表一样随时查询,这在调试排查错误的时候就显得很方便;

【用法示例】

-- 删除临时表tmpCourse
IF EXISTS ( SELECT * FROM tempdb.dbo.sysobjects WHERE id = object_id( N'tempdb..#tmpCourse' ) AND type = 'U' ) 
DROP TABLE #tmpCourse

-- 从Course查询记录,插入到临时表#tmpCourse
SELECT * INTO #tmpCourse FROM Course

-- 从临时表查询数据
SELECT * FROM #tmpCourse
上一篇:没有了
下一篇:没有了

© 2001-智码IT网 www.itxp365.com版权所有

蜀ICP备2021001527号