栏目导航
热点推荐
- 心得:Sql语句绝妙用法
- SQL Server数据转换服务小妙招
- SQL Server数据库常用的T-SQL命
- 详解SQLServer 存储过程
- SQL数据库挂马解决方案
- 分析 SQL Server 的内存为何不断
- SQL Server数据库查询速度慢的原
- 详细讲解删除SQL Server日志的具
- 三步骤快速创建SQL Server数据库
- SQL Server事务日志的几个常用操
- SQLServer应用程序中的高级SQL注
- 使用SQL Server 2008进行服务器
阅览排行
Sql Server制作全局临时表
www.jz123.cn 2010-06-23 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
我们知道,全局临时表的生命周期一直持续到创建会话(不是创建级别)才终止。有时候,你可能想创建一个不属于任何会话的全局临时表。而无论你进行什么操作,它总是存在,只有显式的删除它才能被移除。因此,可以在一个特殊的存储过程中(使用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会自动重建并一直持续到被显式删除
上一篇:如何无需编程便将数据SQL导出到MYSQL 下一篇:SQL Server 2008清理副本解决方案案例