+ -
当前位置:首页 → 问答吧 → 关于SQL的临时表问题

关于SQL的临时表问题

时间:2011-11-18

来源:互联网

我要用一个存储过程建立一个临时表,是不是在我存储过程调用结束后临时表就会被删了?不管是局部的还是全局的都会吗?

如果会的话,那我想多次调用这个会建立临时表的存储过程把多组数据存到这个临时表里有什么办法吗?

求高手解答

作者: a375559435   发布时间: 2011-11-18

1、局部临时表在当前会话结束后,即被删除。(存储过程调用完成后即删除)
  全局临时表在所有会话中都可见,全局临时表在创建此表的会话结束且其他所有任务停止对其引用时将被自动删除。


2、LZ这种情况,可以建立一张表用户存储此多组数据。

作者: OrchidCat   发布时间: 2011-11-18

同意楼上

作者: sundayzhao   发布时间: 2011-11-18

所谓全部和局部 直接从名称都能看出来 

全局临时表在所有会话中都可见 而局部只在本次会话中有效。

作者: fredrickhu   发布时间: 2011-11-18

用永久表吧

作者: Haiwer   发布时间: 2011-11-18

引用 1 楼 orchidcat 的回复:

1、局部临时表在当前会话结束后,即被删除。(存储过程调用完成后即删除)
全局临时表在所有会话中都可见,全局临时表在创建此表的会话结束且其他所有任务停止对其引用时将被自动删除。


2、LZ这种情况,可以建立一张表用户存储此多组数据。


关于这个‘ 全局临时表在所有会话中都可见,全局临时表在创建此表的会话结束且其他所有任务停止对其引用时将被自动删除’
我就是想在delphi里面多次调用这个建临时表的存储过程,然后再设一个按钮可以显式删除临时表,这样行吗?

作者: a375559435   发布时间: 2011-11-18

要求用临时表,没办法
引用 1 楼 orchidcat 的回复:

1、局部临时表在当前会话结束后,即被删除。(存储过程调用完成后即删除)
全局临时表在所有会话中都可见,全局临时表在创建此表的会话结束且其他所有任务停止对其引用时将被自动删除。


2、LZ这种情况,可以建立一张表用户存储此多组数据。

作者: a375559435   发布时间: 2011-11-18

不建议用全局的

作者: loen113   发布时间: 2011-11-18

同意1楼的

作者: forevermini   发布时间: 2011-11-19

临时表 
临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。

有关临时表的详细信息,请参阅有关创建和修改表的基础知识。

作者: roy_88   发布时间: 2011-11-19