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