SQL基本操作——select into与临时表

Posted 站错队了同志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 语句

 

以上是关于SQL基本操作——select into与临时表的主要内容,如果未能解决你的问题,请参考以下文章

select into 与 insert into select

Proc Sql Select Into 正在创建一个我无法调用的临时变量

SQL怎么创建一个临时表

SELECT INTO vs WITH AS:临时表方法谁更快?

SQL SERVER2008里面sql语句删除临时表失败

小白 sql的查询问题