文法是這樣的 :
1、說明:複製表(只複製結構,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1 <>1
法二:select top 0 * into b from a
2、說明:拷貝表(拷貝資料,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from a;
3、CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
INSERT INTO #MyTempTable VALUES (1)
4、select * into #tmpTb from table
對暫存資料表釋放的說明:
暫存資料表
可以建立本地和全域暫存資料表。本地暫存資料表僅在當前會話中可見;全域暫存資料表在所有會話中都可見。
本地暫存資料表的名稱前面有一個編號符 (#table_name),而全域暫存資料表的名稱前面有兩個編號符 (##table_name)。
SQL 陳述式使用 CREATE TABLE 語句中為 table_name 指定的名稱引用暫存資料表:
CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
INSERT INTO #MyTempTable VALUES (1)
如果本地暫存資料表由預存程序建立或由多個使用者同時執行的應用程式建立,則 SQL Server 必須能夠區分由不同使用者建立的表。為此,SQL Server 在內部為每個本地暫存資料表的表名追加一個數字尾碼。儲存在 tempdb 資料庫的 sysobjects 表中的暫存資料表,其全名由 CREATE TABLE 語句中指定的表名和系統產生的數字尾碼組成。為了允許追加尾碼,為本地暫存資料表指定的表名 table_name 不能超過 116 個字元。
除非使用 DROP TABLE 語句顯式除去暫存資料表,否則暫存資料表將在退出其範圍時由系統自動除去:
當預存程序完成時,將自動除去在預存程序中建立的本地暫存資料表。由建立表的預存程序執行的所有嵌套預存程序都可以引用此表。但調用建立此表的預存程序的進程無法引用此表。
所有其它本地暫存資料表在當前會話結束時自動除去。
全域暫存資料表在建立此表的會話結束且其它任務停止對其引用時自動除去。任務與表之間的關聯只在單個 Transact-SQL 陳述式的生存周期內保持。換言之,當建立全域暫存資料表的會話結束時,最後一條引用此表的 Transact-SQL 陳述式完成後,將自動除去此表。