社区
MS-SQL Server
帖子详情
怎样判断某个临时表是否存在?
Dhammacakkhu
2003-12-10 02:59:21
rt
...全文
1165
7
打赏
收藏
怎样判断某个临时表是否存在?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hglhyy
2003-12-10
打赏
举报
回复
临时表不会长驻系统的,在关闭SQL后就会自动drop 掉!
不用查的!
上面的都行 主要是判断 object_id('tempdb..#x') 的值
if (select object_id('tempdb..#x')) is null
print '没有临时表'
else
print '有临时表'
victorycyz
2003-12-10
打赏
举报
回复
按普通的方法也行:
select [name] from tempdb..sysobjects where xtype='u' and [name]='你要找的表名'
zjcxc
元老
2003-12-10
打赏
举报
回复
if object_id('tempdb..#临时表') is null
print '不存在'
else
print '存在'
welyngj
2003-12-10
打赏
举报
回复
IF EXISTS ( SELECT * FROM SYSOBJECTS WHERE name='表名')
PRINT 'EXISTS'
ELSE PRINT 'NO EXISTS'
realgz
2003-12-10
打赏
举报
回复
select object_id('tempdb..#x')
如果返回 null就是没有
txlicenhe
2003-12-10
打赏
举报
回复
临时表
SQL Server 支持临时表。临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。
临时表有两种类型:
本地临时表
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表。
全局临时表
以两个井号 (##) 开头的那些表名。在所有连接上都能看到全局临时表。如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去。当创建全局临时表的连接断开后,新的任务不能再引用它们。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。
现在,临时表的许多传统用途可由具有 table 数据类型的变量替换。
kimurakenshin
2003-12-10
打赏
举报
回复
帮你UP吧,我也在关注中.....,我找过但没找到.
我只在查询分析器中把记录插入临时表中,再在同一个窗口中用select语句查询,能查询的到,但新建一个窗体它就找不到了.好像是它在存储临时表时存储的名称不是写入的名称.
MS-SQL Server
34,874
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章