快捷搜索:

数据库中临时表,表变量和CTE使用优势极其区别

在写SQL时常常会用莅临时表,表变量和CTE,这三者在应用时各有上风:

1. 临时表:分为局部临时表和全局临时表.

1.1局部临时表,创建时以#开首,在系统数据库tempdb中存储. 在当前的链接可见,链接断开则临时表就自动被开释,也可以手动drop table #tmptable

在应用不合的链接同时创建相同的临时表时,互不影响,系统在tempdb中会自动附加以特定的session为标识的名字来区分. 经常在SP中应用,把必要操作的数据或者合营的数据掏出放在临时表中,后续可以进行其他的操作(SELECT,UPDATE,DELETE,DROP 等).

可以像创建永远表一样创建临时表:

CREATE TABLE #tmpTable

(

ID INT,

NAME VARCHAR(10),

COMPANY VARCHAR(50)

)

SELECT * FROM #tmpTable JOIN ...

DROP TABLE #tmpTable

您可能还会对下面的文章感兴趣: