1. 程式人生 > >sql server 表變量、表類型、臨時表

sql server 表變量、表類型、臨時表

ria lec 存儲過程 變量類型 sel 插入數據 .... 調用 是把

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[.....]);

sql server 表變量、表類型、臨時表