当前位置:  开发笔记 > 数据库 > 正文

测试多tempdb环境中是否存在临时表?

如何解决《测试多tempdb环境中是否存在临时表?》经验,为你挑选了1个好方法。

有没有办法确定是否在会话中创建了特定的临时表而没有引用它创建的tempdb数据库?用户在登录时会分配给特定的tempdb,因此我不知道他们将使用哪个tempdb.

我不需要指定tempdb来从临时表中选择数据,所以我肯定可以看到表是否存在?



1> Jonathan..:

您可以使用object_id检查是否存在临时对象:

SELECT object_id('#tmpTable')

您可以根据需要指定要使用的tempdb,但不必:

SELECT object_id('tempdb..#tmpTable')

值得注意的是,这也适用于全局临时表:

SELECT object_id('##tmpTable')

为了使脚本可以重新运行而不必在最后执行DROP TABLE,我总是在创建临时表之前进行检查和删除.我经常在开发SQL代码时创建表.

IF NULLIF(object_id('#tmpTable'), 0) IS NOT NULL DROP TABLE #tmpTable
CREATE TABLE #tmpTable (
    id int,
    col1 varchar(100)
)

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有