成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL數據庫中的臨時表詳解

數據庫 SQL Server
在SQL數據庫中,臨時表與永久表相似,但臨時表存儲在tempdb中,當不再使用時會自動刪除,下面就將為您詳細介紹SQL數據庫中臨時表的特點及其使用,供您參考。

臨時表在SQL數據庫中,是非常重要的,下面就將為您詳細介紹SQL數據庫中臨時表的特點及其使用,供您參考,希望對您學習SQL Server 能夠有所幫助。

臨時表與永久表相似,但臨時表存儲在tempdb中,當不再使用時會自動刪除。臨時表有兩種類型:本地和全局。它們在名稱、可見性以及可用性上有區別。本地臨時表的名稱以單個數字符號 (#) 打頭;它們僅對當前的用戶連接是可見的;當用戶從 SQL Server 實例斷開連接時被刪除。全局臨時表的名稱以兩個數字符號 (##) 打頭,創建后對任何用戶都是可見的,當所有引用該表的用戶從 SQL Server 斷開連接時被刪除。

例如,如果創建了employees表,則任何在數據庫中有使用該表的安全權限的用戶都可以使用該表,除非已將其刪除。如果數據庫會話創建了本地臨時表 #employees,則僅會話可以使用該表,會話斷開連接后就將該表刪除。如果創建了 ##employees 全局臨時表,則數據庫中的任何用戶均可使用該表。如果該表在您創建后沒有其他用戶使用,則當您斷開連接時該表刪除。如果您創建該表后另一個用戶在使用該表,則 SQL Server 將在您斷開連接并且所有其他會話不再使用該表時將其刪除。

conn.Execute("SELECT newscomment_user_id AS user_id, COUNT(*) AS counter INTO #userNewsComment1 " _
          & " FROM newsComment GROUP BY newscomment_user_id ")
          '把從newsComment中或的數據集合寫入到臨時表 #userNewsComment1 中
          'newsComment是新聞評價表


         Set rs = conn.Execute("SELECT TOP 10 a.user_id AS trueId, * FROM userInfo AS a INNER JOIN userPoint AS b " _
          & " ON a.user_id = b.user_id INNER JOIN View_Company AS c ON a.user_id = c.user_id " _
          & " LEFT OUTER JOIN     #userNewsComment1 AS d ON d.user_id = a.user_id " _
          & " WHERE user_isProvinceNewsShow = 1 " _
          & placeCondition & " ORDER BY d.counter DESC ")

        conn.execute("drop table #userNewsComment1")
        '使用完記住刪除臨時表,這里是刪除臨時表對象

這里是把臨時表運用上

1、臨時表就是用戶在創建表的時候添加了“#”前綴的表,其特點是根據進程獨立。只有進程的擁有者有表的訪問權限,其它用戶不能訪問該表;
2、不同的用戶進程,創建的臨時表雖然“名字”相同,但是這些表之間相互并不存在任何關系;在SQLSERVER中,通過特別的命名機制保證臨時表的進程獨立性。
3、定單和購買意向一般不會保存在真正的“臨時表”中,而是實際的普通表,之所以稱之為“臨時表”,只是一種叫法而已。因為隨著一個用戶進程的結束,真正的臨時表會自動清除,而定單和購買意向數據一般是定時清除,所以一定是保存在普通表中,具備數據的持久性特征(臨時表最缺乏的就是數據的持久性)。
4、真正的臨時表利用了數據庫臨時表空間,由數據庫系統自動進行維護,因此節省了表空間。并且由于臨時表空間一般利用虛擬內存,大大減少了硬盤的I/O次數,因此也提高了系統效率。

事務完畢或會話完畢數據自動清空,不必記得用完后刪除數據。
      數據當前會話期可見,其它的會話只能看到其結構,只能看到自己的數據,各會話的數據互不干擾。 如靜態創建臨時表t_tmp(a number primary key,b number)
    用戶A可以有數據                 用戶B可以有數據
       1 2                          1 2
       2 3                          3 4
       3 4                          6 7
       4 5
A)select count(*) from t_emp; 結果為4(B的數據它看不到)
B)select count(*) from t_emp; 結果為3(A的數據它看不到)
它們有相同的兩條記錄,但由于數據只作用于當前會話期,所以primary key不會限制它們,只限制當前用戶下的A唯一主鍵。
上述互不干擾特性可以用于處理中間計算過程,如果是常規表在同一時間僅能被一個會話操作,鎖定資源拒絕被其它會話訪問。
 

 

【編輯推薦】

SQL數據庫中事務的ACID特性

SQL中where 1=1語句的作用

SQL中UNION指令的用法

SQL Server中不同用戶的權限

測試SQL語句執行時間的方法

責任編輯:段燃 來源: 互聯網
相關推薦

2010-07-22 16:07:02

SQL Server數

2009-05-13 10:28:30

OracleDUAL數據庫

2010-07-09 11:28:12

SQL Server數

2011-08-04 15:55:25

SQL Server數

2011-03-29 13:22:07

SQL Server臨時表表變量

2011-08-22 13:28:56

FOR XMLSQL Server

2010-05-19 09:01:14

MySQL臨時表

2021-04-29 08:11:11

SQL優化作用

2021-03-18 08:20:19

SQLServer數據庫SQL

2010-09-09 15:13:33

SQL更新數據

2011-08-24 09:15:36

SQL Server數FOR XML AUT

2021-05-08 14:07:26

SQLServer數據庫

2024-08-02 15:47:28

數據庫分庫分表

2010-10-19 14:45:01

SQL SERVER臨

2022-03-29 10:55:10

Mysql數據庫

2022-03-25 09:04:01

Mysql數據庫

2011-08-25 18:09:36

SQL Server創建數據倉庫已分區表

2009-07-02 00:26:00

臨時表空間Oracle數據庫性能

2011-08-22 15:47:27

Oracle臨時表存儲過程

2024-10-17 16:17:21

MySQL臨時表數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看视频亚洲 | 亚洲免费一区二区 | 日本精品一区二区三区视频 | 日韩蜜桃视频 | 亚洲一区中文字幕在线观看 | 国产在线精品一区二区三区 | 天堂在线一区 | 久久99精品国产 | 久久精品亚洲欧美日韩精品中文字幕 | www.国产视频 | 中文字幕第一页在线 | 瑟瑟视频在线看 | av在线免费观看不卡 | 久久久久国产精品午夜一区 | 老司机成人在线 | 久久91| 成人三级在线播放 | 亚洲网站在线观看 | 日本超碰 | 蜜桃免费一区二区三区 | 日韩精品一区二区三区中文字幕 | 国产小视频在线观看 | 91精品国产91 | 超碰在线人 | 午夜网址 | 91视频网址 | 成人小视频在线观看 | 国产成人99 | 国产欧美精品一区二区色综合 | 亚洲欧洲精品一区 | 欧美日韩在线一区二区 | 天天躁日日躁狠狠的躁天龙影院 | 亚洲精品天堂 | 在线高清免费观看视频 | 日本三级视频 | 天堂成人国产精品一区 | 亚洲国产成人精品女人久久久 | 91九色视频 | 日韩欧美一级片 | 国产午夜三级一区二区三 | 日韩一区二区三区四区五区 |