sqlserver 临时表

原创 2017年06月02日 12:10:30
 想把一个数据表里的某个字段筛选出来然后,循环的把值传给另一个存储过程,选择使用了临时表。
SQL代码如下:
CREATE TABLE #Temp_TABLE
ID INT IDENTITY(1,1),
TRANSID VARCHAR(30), --出库单号
PRIMARY KEY (ID)
)
INSERT INTO #Temp_TABLE
SELECT TRANSID FROM A WHERE A.RPID='RP00913031200001'--从A表取出符合条件的数据插入到临时表
DECLARE @TOTAL_COUNT INT,--临时表记录条数
@NOW_COUNT INT,--现在遍历到哪条记录
@TRID VARCHAR(30)--当前遍历的transid
SELECT @TOTAL_COUNT=COUNT(*) FROM #Temp_TABLE
SET @NOW_COUNT=1;
WHILE(@NOW_COUNT<=@TOTAL_COUNT)
 BEGIN
   SELECT @TRID=TRANSID FROM #Temp_TABLE 
   WHERE ID=@NOW_COUNT --关键就在这(一切都因这个地方而不一样了哦)
   EXEC proc_monprocess @TRID--传给另一个存储过程
   SET @NOW_COUNT=@NOW_COUNT+1
 END
DROP TABLE #Temp_TABLE

有关表的数据插入
1、把临时表中的数据插入到另一个表中
insert into 表 select * from #temp
2、把一个表中字段复制到临时表中
select * into #temp from   表 where ...
3、本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;
4、当用户从 SQL Server 实例断开连接时被删除。
5、判断临时表是否存在
create proc temp(@tablename varchar(200))
as
begin
declare @exec varchar(8000)
set @exec='use tempdb
if exists(select * from sysobjects 
where id=object_id(''tempdb..'+@tablename+'''))
select ''存在''
else
select ''不存在'''
exec (@exec)
end
版权声明:本文为博主原创文章,未经博主允许不得转载。

sql server临时表的生命周期

1:事务结束 2:server关闭 3:链接断开) 1)#tableName对当前连接有效,连接断开后,自动删除 2)##对所有连接有效,所有连接断开后失效。...
  • wd1624348916
  • wd1624348916
  • 2016年09月17日 22:24
  • 2078

SQLServer性能优化之活用临时表

复杂SQL的调优,建议将SQL分解成若干小SQL后,再逐步找到瓶颈所在
  • baoqiangwang
  • baoqiangwang
  • 2010年07月27日 16:48
  • 4513

多种临时表效率的对比分析

平时在写存储过程的时候,经常会用到临时表,而临时表的用法到底有几种,哪种效率更好呢?我们来做个对比分析。...
  • shuaihj
  • shuaihj
  • 2014年11月07日 11:01
  • 3213

SQL本地临时表EXEC问题

举列子说明问题: 例1   select * into #tab from users  select * from #tab  drop table #tab 结果: 例2 使用全局临时表...
  • Erike_zhang
  • Erike_zhang
  • 2013年12月03日 13:52
  • 1219

sqlserver 中临时表、临时变量和with as关键词创建“临时表”的区别

SQL数据库中数据处理时,有时候需要建立临时表,将查询后的结果集放到临时表中,然后在针对这个数据进行操作。   创建“临时表”(逻辑上的临时表,可能不一定是数据库的)的方法有一下几种:  ...
  • miqi770
  • miqi770
  • 2016年05月26日 15:39
  • 3971

临时表vs.表变量以及它们对SQLServer性能的影响

 问题 1:为什么在已经有了临时表的情况下还要引入表变量?解答 1:与临时表相比,表变量具有下列优点: • 如 SQL Server...
  • lainY7mail
  • lainY7mail
  • 2008年04月17日 12:30
  • 1908

sqlserver 循环临时表插入数据到另一张表

-- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), ...
  • windowsliusheng
  • windowsliusheng
  • 2016年09月11日 12:31
  • 1201

9、SQL Server:创建和使用临时表(转)

本文来自:http://blog.csdn.net/atian2009/article/details/6823129 创建临时表        方法一:      create table #...
  • xushaozhang
  • xushaozhang
  • 2017年02月16日 13:56
  • 406

如何解决存储过程中关联临时表时快时慢的情况

调用一个存储过程,同样的条件,数据库负载也是正常的情况下,时快时慢。原因是数据库无法获取临时表的统计信息,导致执行计划会走错。之前写过一个帖子,被临时表坑了,http://blog.csdn.net/...
  • guogang83
  • guogang83
  • 2015年04月03日 17:49
  • 1103

Oracle和SQLServer的“临时表”应用

Oracle中,      在复杂的业务逻辑中,我们经常会用到临时表,临时表生成很少的日志,每种数据库又都会对其进行特定的处理,使它很适合保存事务或会话期间的中间结果集。Oracle临时表保存的数据只...
  • lb_mail
  • lb_mail
  • 2011年06月03日 13:10
  • 1683
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlserver 临时表
举报原因:
原因补充:

(最多只允许输入30个字)