临时表的使用方案大全

临时表的使用方案大全

ID:36418845

大小:67.17 KB

页数:16页

时间:2019-05-10

临时表的使用方案大全_第1页
临时表的使用方案大全_第2页
临时表的使用方案大全_第3页
临时表的使用方案大全_第4页
临时表的使用方案大全_第5页
资源描述:

《临时表的使用方案大全》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQLServer临时表的使用方案大全http://database.51cto.com 2010-07-2215:56 佚名 博客园 我要评论(0)·摘要:我们今天主要描述的是SQLServer临时表的实用大全,我在一个网站找到一个关于SQLServer临时表的实用大的资料,所以今天拿出来供大家分享。·标签:SQLServer临时表·限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”我们今天是要和大家一起讨论的是SQLServer临时表的实用大全,如果你对SQLServer临时表的实用大全不是很

2、了解的话,下面的文章就是对其相关内容的具体介绍,希望会给你带来一些帮助在此方面。引子:临时数据表格,我们在存储的时候经常遇见。客户端可以实用Delphi的ClientDataSet的内存表,但是ClientDataSet类似TABLE,不是支持SQL语言的。当然也可以实用临时表。有时我们避免SQLServer临时表的生命周期的麻烦,更多的使用实际表临时用用。起个什么tempXXX类似的告诉我们他们是临时表。创建释放也没有问题。那么临时表的周期是什么样子的呢?有什么特殊的用法没有?1.全局临时表和临时表的区别:视野不同。全局临时表当然就是使

3、用##打头的表格,普通的临时表格为#打头。它们的周期应该随一个连接也就是Connection的诞生而生,随着Connection的断开而死亡。它们的区别不同的地方也就是视野不同。全局表,全部授权的Connection都可以看见。但是普通SQLServer临时表(局域临时表)仅仅创建的Connection可以看见。特别说明的是SQLServer的isql.exe每个连接就是一个Connection。例如:一个应用程序app.exe有仅adoconnection连接SQLServer数据,那么这个连接中的adoquery或者存储过程建立的全局

4、表##temp1,另外的一个app.exe或者其它的appx.exe都可以使用该表格。不同的是普通临时表,由app.exe中的连接connection比如adoconnection的Adoquery建立的临时表#temp,在所有该连接的该程序的app.exe都可以看见并且访问,但是appx.exe或者其它的就不能看见。陷阱:如果一个应用程序app.exe有存储过程和TADOQUERY连接同一个ADOCONNECTION.切记使用存储过程建立的临时表(非全局),就不能被这个连接下的TADOQUERY访问。原因是:存储过程本身是服务器端执行,

5、应该是服务器的CONNECTION。2.全局表或者SQLServer临时表的存储和建立。估计大家都知道,临时表或者全局表都是在SQLServer的tempdb数据库存储,表我们访问的时候使用#,但是实际在进程里面是以在tempdb里面的用户表以#xxx_________00000000xxx方式存储(是否是进程标识,不大知道,也不想知道)。可以通过isql.exe的tempdb里面看见它们。3。头痛初始化表格初始化表格,为什么头痛,毕竟使用Drop什么的。或者判断存在比较麻烦。其实也很简单。另外建立临时表,都是无聊的SQL语句,怎么处理。

6、方法一:当然是使用存储过程了。可以直接写SQL语句或者写exec(@v_sql)。方法二:把SQLServer临时表保存到数据里面MEMO里面,读取,直接执行。判断方法一:可以采用常用的exists函数。例如:1.if exists (select * from tempdb..sysobjects where id = object_id(@sTmpWareA) and type = "U") 判断方法二:1.if object_id('tempdb.dbo.##'+@v_userid) is null 应用方法一:(感谢阿满,迷糊)一

7、个统计的SQLServer临时表格,使用TADOPROC执行存储过程,如下:1.CREATE PROCEDURE InitCreateCoawardTable AS 2.BEGIN 3.IF not (object_id('tempdb.dbo.#Tmp_Detail') is null) 4.drop table tempdb.dbo.#Tmp_Detail 5.CREATE TABLE tempdb.dbo.#Tmp_Detail ( 6.[id] [int] IDENTITY (1, 1) NOT NULL , [单据类别][var

8、char](20)COLLATEChinese_PRC_CI_ASNULL,[单据编号][varchar](20)COLLATEChinese_PRC_CI_ASNULL,(。。这里多复杂都可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。