请教SQL语句怎么写

xjoil 2016-10-24 06:23:44
select name,
case when (select count(*) from name) >0
then '有'
else '无'
end as 临时表是否有数据
from tempdb.dbo.sysobjects where type='u' and name like '##%'

程序登录时建立了一个临时表,我想写条SQL语句查询出来临时表名和这张临时表里是否有记录。
如:
name 临时表是否有数据
00001 有
00002 有
00003 无

上面的语句第二行出错,找不到表名。请问该如何写?
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjoil 2016-10-25
  • 打赏
  • 举报
回复
厉害!解决问题了,谢谢大家。
baidu_35289351 2016-10-25
  • 打赏
  • 举报
回复
#tb1________________________________________________________________________________________________________________00000000001B 临时表后面为什么要多这么多下划线?
mingqing6364 2016-10-24
  • 打赏
  • 举报
回复
SELECT
	o.name,
	CASE p.ROWS WHEN 0 THEN '无' ELSE '有' END AS 临时表是否有数据
FROM
	tempdb.sys.partitions AS p
INNER JOIN
	tempdb.dbo.sysobjects AS o ON p.object_id = o.id
WHERE
	o.type = 'u'
AND o.name LIKE '##%'
中国风 2016-10-24
  • 打赏
  • 举报
回复
这样用
SELECT  a.name ,
        CASE WHEN b.rows > 0 THEN '有'
             ELSE '无'
        END AS 临时表是否有数据
FROM    tempdb.dbo.sysobjects AS a
        INNER JOIN tempdb.dbo.sysindexes AS b ON a.id = b.id
                                                 AND b.indid IN ( 0, 1 )
WHERE   a.type = 'u'
        AND a.name LIKE '#%';
--AND a.name='指定临时表名'

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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