当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
制作全局临时表
发布时间:2010/6/7 10:32:03 来源:城市学习网 编辑:ziteng
  我们知道,全局临时表的生命周期一直持续到创建会话(不是创建级别)才终止。有时候,你可能想创建一个不属于任何会话的全局临时表。而无论你进行什么操作,它总是存在,只有显式的删除它才能被移除。因此,可以在一个特殊的存储过程中(使用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会自动重建并一直持续到被显式删除。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved