sql server 中臨時表分為會話臨時表和永久臨時表。會話臨時表在會話結束后自動被刪除,永久臨時表與基本表的使用上基本無差異,需要顯示調用drop將其刪除。
創建臨時表
創建會話臨時表
create table #table_name(column_name datatype constraint_name[.....]);
創建永久臨時表
create table ##table_name(column_name datatype constraint_name[.....]);
臨時表的約束可以在創建表之后建立,使用
alter table table_name add constraint contraint_name;語句創建。
表類型
表類型是一個用戶自定義類型,用戶可以創建自己所需要的表類型,說白了就是把表結構和約束預先創建好,后面要使用的時候直接根據該表類型創建表變量。
創建表類型
create type type_name as table(column_name datatype constraint_name[.....]);
在這里表中的約束必須在創建類型的時候就創建,不能使用alter語句。
根據表類型申明表變量
declare @table_variable type_name;
表變量
表變量是一種數據類型,該類型具有表的結構和部分表的功能。可以對其進行查詢、插入、更新、刪除。值得注意的是表變量不能使用select .. into語句插入數據
但是臨時表可以。表變量可以結合存儲過程、函數等程序塊使用。表變量與其他基本變量類型的方法和申明一致。
申明表變量
declare @table_variable table(column_name datatype constraint_name[.....]);