臨時表和游標的使用小總結

2021-09-22 12:12:53 字數 2262 閱讀 7577

sql server2005 transact-sql 新兵器學習總結之-總結

最近使用db的機會比較多,現做了一些小總結:

i。臨時表

臨時表與永久表相似,但臨時表儲存在 tempdb 中,當不再使用時會自動刪除。

臨時表有區域性和全域性兩種型別

2者比較:

區域性臨時表的名稱以符號 (#) 打頭

僅對當前的使用者連線是可見的

當使用者例項斷開連線時被自動刪除

全域性臨時表的名稱以符號 (##) 打頭

任何使用者都是可見的

當所有引用該錶的使用者斷開連線時被自動刪除

實際上區域性臨時表在tempdb中是有唯一名稱的

例如我們用sa登陸乙個查詢分析器,再用sa登陸另一查詢分析器

在2個查詢分析器我們都允許下面的語句:

use pubs go

select * into #tem from jobs

分別為2個使用者建立了2個區域性臨時表

我們可以從下面的查詢語句可以看到 

select *

from [tempdb].[dbo].[sysobjects]

where xtype='u' 

判斷臨時表的存在性: 

if  object_id('tempdb..#tem') is not null 

begin 

print 'exists' 

end 

else 

begin 

print 'not exists' 

end

1。在動態sql語句中建立的區域性臨時表,在語句執行完畢後就自動刪除了

所以下面的語句是得不到結果集的

exec('select * into #tems from jobs')

select * from #tems

2。在儲存過程中用到的臨時表在過程執行完畢後會自動刪除

但是推薦顯式刪除,這樣有利於系統 

ii。游標 

游標也有區域性和全域性兩種型別

區域性游標:只在宣告階段使用 

全域性游標:可以在宣告它們的過程,觸發器外部使用

判斷存在性: 

if cursor_status('global','游標名稱') =-3 and cursor_status('local','游標名稱') =-3 

begin  

print 'not exists' 

end收藏與分享

rss訂閱我 什麼是rss?

feedsky        e-mail 

訂閱到雅蛙        使用rss郵天下訂閱    訂閱到有道閱讀 

訂閱到抓蝦    鮮果閱讀器訂閱圖示    add to google 

訂閱 bloglines    哪吒提醒    subscribe in newsgator online

東莞.net俱樂部

東莞.net俱樂部 歡迎您的加入

我的系列文章

a.sql server2005 transact-sql 新兵器學習 

b.mcad學習 

c.**閱讀總結 

d.asp.net狀態管理 

e.db(資料庫) 

f.wap 

g.winform 

h.flex

我的好文推薦

sql server2005 transact-sql 新兵器學習總結之-總結 

ms sql資料庫備份和恢復儲存過程(加強版本) 

sql server中分布式查詢隨筆(鏈結伺服器(sp_addlinkedserver)和遠端登入對映(sp_addlinkedsrvlogin)使用小總結) 

asp.net2.0國際化/本地化應用程式的實現總結(多語言,多文化頁面的實現) 

wap開發資料站(最新更新) 

自定義格式字串隨筆 (iformattable,iformatprovider,icustomformatter三介面的實現) 

mcad學習筆記之非同步程式設計(asynccallback 委託,iasyncresult介面,begininvoke方法,endinvoke方法的使用小總結) 

mcad學習筆記之通過反射呼叫類的方法,屬性,字段,索引器(2種方法) 

mcad學習筆記之序列化(2進製和soap序列 化) 

mcad學習筆記之委託再理解(delegate的構造器,begininvoke,endinvoke,invoke4個方法的**) 

asp.net狀態管理之一(概括篇) 

flex,fms學習筆記

臨時表和游標的使用小總結

最近使用db的機會比較多,現做了一些小總結 臨時表與永久表相似,但臨時表儲存在 tempdb 中,當不再使用時會自動刪除。臨時表有區域性和全域性兩種型別 2者比較 區域性臨時表的名稱以符號 打頭 僅對當前的使用者連線是可見的 當使用者例項斷開連線時被自動刪除 全域性臨時表的名稱以符號 打頭 任何使用...

游標的結果集放入臨時表

這個儲存過程是在sqlserver環境下的,通過游標讀取資料,得到結果放入臨時表中 注 如果知道如何將游標通過迴圈讀出,妹子也是剛剛接觸儲存過程的,還望賜教。將游標遍歷的結果集放入臨時表中,最後讀取臨時表 create procedure dbo cc asdeclare id varchar 10...

游標的結果集放入臨時表

這個儲存過程是在sqlserver環境下的,通過游標讀取資料,得到結果放入臨時表中,執行儲存過程就得到臨時表的內容。將游標遍歷的結果集放入臨時表中,最後讀取臨時表 create procedure dbo cc asdeclare id varchar 10 宣告游標 declare cc curs...