临时表

基本使用

//创建临时表
CREATE TABLE #temp(name VARCHAR(20),id int);
 
//操作临时表数据,看情况需要
select * from #temp;
 
//删除临时表
drop table #temp;

使用select语句直接创建

-- 先尝试删除
IF OBJECT_ID('tempdb..#vw')IS NOT NULL 
	DROP TABLE #vw
SELECT 字段1,字段2 INTO #vw FROM TABLE1

小技巧

初始化临时表列,但不插入数据

SELECT 字段1,字段2 INTO #vw FROM TABLE1 WHERE 1=2

定义一个变量做为临时表

DECLARE @temp table(name VARCHAR(20),id int)

在一个存储过程中获得另一个存储过程的数据,你可以这样子做

INSERT INTO @temp
EXEC 存储过程2 @参数1='1',@参数2='2'

SELECT * FROM @temp

-- 注,使用最上面的SELECT产生表是做不到的
-- 下面是错误的
-- SELECT * INTO #vw
-- EXEC 存储过程2 @参数1='1',@参数2='2'