sqlserver 的臨時表


臨時表有兩種類型:本地和全局。

對於臨時表有如下幾個特點:

本地臨時表就是用戶在創建表的時候添加了“#”前綴的表,其特點是根據數據庫連接獨立。只有創建本地臨時表的數據庫連接有表的訪問權限,其它連接不能訪問該表;

不同的數據庫連接中,創建的本地臨時表雖然“名字”相同,但是這些表之間相互並不存在任何關系;在SQLSERVER中,通過特別的命名機制保證本地臨時表在數據庫連接上的獨立性。

真正的臨時表利用了數據庫臨時表空間,由數據庫系統自動進行維護,因此節省了表空間。並且由於臨時表空間一般利用虛擬內存,大大減少了硬盤的I/O次數,因此也提高了系統效率。

臨時表在事務完畢或會話完畢數據自動清空,不必記得用完后刪除數據。

創建方式:

   方法一:
     create table #臨時表名(字段1 約束條件,
                      字段2 約束條件,
                  .....)
        create table ##臨時表名(字段1 約束條件,
                          字段2 約束條件,
                      .....)
        方法二:
     select * into #臨時表名 from 你的表;
       select * into ##臨時表名 from 你的表;

當創建本地或全局臨時表時,CREATE TABLE 語法支持除 FOREIGN KEY 約束以外的其它所有約束定義。如果在臨時表中指定 FOREIGN KEY 約束,該語句將返回警告信息,指出此約束已被忽略,表仍會創建,但不具有 FOREIGN KEY 約束。在 FOREIGN KEY 約束中不能引用臨時表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM