SQL临时表的创建和删除
--insert into pppcopy select * from ppp //从表ppp中获取数据,并将其插入到pppcopy中,只拷贝表的数据,不拷贝表的结构(前提:表pppcopy1存在)
--select * into pppCopy1 from ppp //将ppp中的数据拷贝到 pppcopy1中,拷贝表的数据以及表的结构(前提:表pppcopy1不存在)
--select * into pppCopy2 from ppp where 1=0// 将ppp的表结构拷贝到pppcopy2,不拷贝数据(前提:表pppcopy1不存在)
--create table #temp(num int primary key,pname varchar(20))//创建局部临时表
--create table ##temp(num int primary key,pname varchar(20))//创建全局临时表,当sql服务断开时删除
局部临时表与全局临时表区别与示例
1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。
2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。
3、不管局部临时表还是全局临时表,只要连接有访问权限,都可以用drop table #Tmp(或者drop table ##Tmp)来显式删除临时表。
SQL语句 怎么把一个表的数据复制到另外一个表里面
1、复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表
2、复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
3、复制表结构及数据到新表
select * into 目标表名 from 源表名(要求目标表不存在,因为在插入时会自动创建)
4、只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立.