昨晚同事说他想做一个二次查询,他说那是子查询,我想不是的,子查询是只能放在条件语句里的,而他想放在FROM 后面。
我想这应可以用临时表解决,以前也没有做过临时表,只是在书上了解到了这个概念,只好上百度搜了咯。
开始查到了一个用WITH 写的语句,试了试,没通过,估计是行不通了。
又找了找,才找到了可以用select [字段1,字段2,...,] into #tempTable from table的形式,将查得的结果放到一个临时表,而后再对这个临时表操作.
今早上来,查了查资料,把临时表的相关东东了解了一遍:
其创建方法:
create table TempTableName,
或
select [字段1,字段2,...,] into TempTableName from table ,如上所说.
而后便可像使用常规表一样使用它们.
临时表其实是放在数据库tempdb里的一个用户表
分两种:
一种是以#(局部)或##(全局)开头的表,这种表在会话期间存,会话结束则自动删除;
另一种,如果创建时不以#或##开头,而用tempdb.TempTable来命名它,则该表可在数据库重启前一直存在.
以上两种都可手动用
drop table TempTableName 来删除.
posted on 2011-04-19 15:12
luis 阅读(278)
评论(0) 编辑 收藏 引用