1. 程式人生 > >SQL基本操作——select into與臨時表

SQL基本操作——select into與臨時表

weight sql基本操作 bsp 臨時表 arc table rst get 需要

SELECT INTO 語句從一個表中選取數據,然後把數據插入另一個表中,常用於創建表的備份復件或者用於對記錄進行存檔。

--制作 "Persons" 表的備份復件:
SELECT * INTO Persons_backup FROM Persons
--IN 子句可用於向另一個數據庫中拷貝表
SELECT * INTO Persons IN Backup.mdb FROM Persons
--如果我們希望拷貝某些域,可以在 SELECT 語句後列出這些域
SELECT LastName,FirstName INTO Persons_backup FROM Persons
--從 "Persons" 表中提取居住在 "Beijing" 的人的信息,創建了一個帶有兩個列的名為 "Persons_backup" 的表
SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City=Beijing --從一個以上的表中選取數據也是可以做到的。創建一個名為 "Persons_Order_Backup" 的新表,其中包含了從 Persons 和 Orders 兩個表中取得的信息 SELECT Persons.LastName,Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.Id_P=Orders.Id_P

臨時表:

它的操作和我們平時操控表的操作基本一樣, 比如最簡單增、刪、改、查等等。但是,需要註意的是臨時表的創建是有範圍限制的。

會話臨時表:

--會話結束的時候,那麽臨時表就結束了。
create table #TestTb
(
    Id  int identity(1,1) primary key not null,
    Name nvarchar(32) null
)
--常用的臨時表的用法
select * into #Tb from t8
--臨時表用完之後一定要: 釋放掉臨時表
drop table #TestTb

全局臨時表:

--創建全局臨時表,所有的用戶的會話都可以訪問到。
create table #Pos ( Id int identity(1,1) primary key not null, Name nvarchar(32) null ) --全局臨時表會在所有用戶都斷開會話後,會自動釋放。 select * into ##Pos from Position--盡量不要全局的。 --釋放全局臨時表 drop table ##Pos

參考:SQL Server中的臨時表的用法、SQL SELECT INTO 語句

SQL基本操作——select into與臨時表