sql的臨時表使用小結

2022-01-12 04:30:33 字數 1358 閱讀 5418

1、建立方法:

方法一:

create table temptablename

或select [欄位1,欄位2,...,] into temptablename from table

方法二:

create table tempdb.mytemptable(tid int)

說明:(1)、臨時表其實是放在資料庫tempdb裡的乙個使用者表;

(2)、temptablename必須帶「#」,「#"可以是乙個或者兩個,以#(區域性)或##(全域性)開頭的表,這種表在會話期間存在,會話結束則自動刪除;

(3)、如果建立時不以#或##開頭,而用tempdb.temptable來命名它,則該錶可在資料庫重啟前一直存在。

2、手動刪除

drop table temptablename

說明:drop  table 語句顯式除去臨時表,否則臨時表將在退出其作用域時由系統自動除去:     

(1)、當儲存過程完成時,將自動除去在儲存過程中建立的本地臨時表。由建立表的儲存過程執行的所有巢狀儲存過程都可以引用此表。但呼叫建立此表的儲存過程的程序無法引用此表;

(2)、所有其它本地臨時表在當前會話結束時自動除去;

(3)、全域性臨時表在建立此表的會話結束且其它任務停止對其引用時自動除去。任務與表之間的關聯只在單個transact-sql語句的生存週期內保持。換言之,當建立全域性臨時表的會話結束時,最後一條引用此表的transact-sql語句完成後,將自動除去此表。

3、示例**

(1)建立

code

usetestdb

--建立區域性臨時表 

create

table

#tmpstudent(tid 

int,name 

varchar(50

),age 

int)

insert

into

#tmpstudent 

values('

xiaowang',

25)select

*from

#tmpstudent

--建立區域性臨時表 另一種寫法

select

*into

#tmpstudent 

from

student

select

*from

#tmpstudent

第二種建立方法:

create

table

tempdb.mytemptable(tid 

int) 

--有對應許可權才可以這麼寫

(2)刪除

drop

table

#tmpstudent

sql的臨時表使用小結

1 建立方法 方法一 create table temptablename 或 select 欄位1,欄位2,into temptablename from table 方法二 create table tempdb.mytemptable tid int 說明 1 臨時表其實是放在資料庫tempd...

sql的臨時表使用小結

資料表的建立方法 1 建立方法 方法一 create table temptablename 或 select 欄位1,欄位2,into temptablename from table 方法二 create table tempdb.mytemptable tid int 臨時資料表的建立相關說明...

SQL 臨時表的作用

需求 當我們需要對查詢出來的結果進行修改,然後再使用這些資料的時候需要使用到臨時表。比如 表a有欄位id,name,money。表b有欄位id,表b有欄位id,name,money。需要將表a的字段的值,復到表b對應的字段上。但是 表b的money,其實是表a money的負數。所以這個時候我們需要...