搜索:
首页 >> 数据库 >> MsSQL教程 >> 制作全局临时表

制作全局临时表

2010-6-11 来源:Asp之家 投递文章

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

因此,可以在一个特殊的存储过程中(使用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会自动重建并一直持续到被显式删除。

相关文章
手机版 MsSQL教程 Asp之家 Aspxhome.com
闽ICP备06017341号