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


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 語句

 


免責聲明!

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



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