网络编程
位置:首页>> 网络编程>> 数据库>> 制作全局临时表

制作全局临时表

 来源:Asp之家 发布时间:2010-06-11 13:36:00 

标签:全局临时表,SQL,Server

我们知道,全局临时表的生命周期一直持续到创建会话(不是创建级别)才终止。有时候,你可能想创建一个不属于任何会话的全局临时表。而无论你进行什么操作,它总是存在,只有显式的删除它才能被移除。

因此,可以在一个特殊的存储过程中(使用sp_前缀,在master中创建)创建该表并使用“startup”选项标记该存储过程。

Sql Server会在每次启动时调用启动过程(startup procedure)。而且,Sql Server为启动过程中创建的全局临时表维护一个大于0的引用计数器,这样就确保Sql Server不会尝试自动删除它。如下所示:


以下为引用的内容:

USE master;
GO
IF OBJECT_ID('dbo.sp_Globals') IS NOT NULL
DROP PROC dbo.sp_Global
GO
CREATE proc dbo.sp_Globals
AS
CREATE TABLE ##Globals
(
id varchar(36) NOT NULL PRIMARY KEY,
value varchar(500)
);
GO
EXEC dbo.sp_procoption 'dbo.sp_Globals','startup','true';


执行并重启Sql Server后,全局临时表##Globals会自动重建并一直持续到被显式删除。


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com