SQL SERVER 中的全局临时表问题

luozhengeast 2003-09-10 01:47:52
请问高人:我在 SQL SERVER 中写了一个建立全局临时表的存储过程,然后用VB 通过ADO调用,但是却发现有时能建立(在数据库tempdb中的sysobjects 表中能看到临时表),有时又不能建立,请问这是啥原因,全局临时表在什麽情况下会自动删除?
有啥办法能控制全局临时表的自动删除吗?
...全文
82 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lionstar 2003-09-10
  • 打赏
  • 举报
回复
你可以将创建全局临时表的存储过程创建完毕后使用waitfor(xxxxxxxxx)数字越大,持续时间越长,然后存储过程设置成SQL Server启动时自动运行的:
sp_procoption [ @ProcName = ] 'procedure'
, [ @OptionName = ] 'option'
, [ @OptionValue = ] 'value'

参数
[@ProcName =] 'procedure'

是要为其设置或查看选项的过程名。procedure 为 nvarchar(776) 类型,无默认值。

[@OptionName =] 'option'

要设置的选项的名称。option 的唯一值是 startup,该值设置存储过程的自动执行状态。设置为自动执行的存储过程会在每次 Microsoft® SQL Server™ 启动时运行。

[ , [ @OptionValue = ] 'value' ]

表示选项是设置为开(true 或 on)还是关(false 或 off)。value 为 varchar(12) 类型,无默认值。


liuyun2003 2003-09-10
  • 打赏
  • 举报
回复
有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 Microsoft® SQL Server™ 2000 实例断开连接时被删除。全局临时表的名称以数学符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧