昨晚同事說他想做一個二次查詢,他說那是子查詢,我想不是的,子查詢是只能放在條件語句里的,而他想放在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 閱讀(282)
評論(0) 編輯 收藏 引用