查询SQL Server数据库中的用户表的数量的问题
今天在开发时,遇到要统计SQL Server 2005中数据库表的个数的问题。于是自己写下SQL:select count(1) from sysobjects where XTYPE='u',一执行,发现查询的得到表的个数比实际的用户表的个数多了一个。仔细一看发现结果中多了条数据。图示如下:
http://hi.iyunv.com/attachment/201109/19/0_1316414491BYFf.gif
其中sysdiagrams并不是用户表,而是数据库的关系图。可是我也没有建数据库的关系图,原来自己在操作SSMS时不小心点击了当前数据库下
的数据库关系图,图示如下:
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Documents%20and%20Settings/kevin/Application%20Data/Tencent/Users/379620768/QQ/WinTemp/RichOle/D)L3POHOG6C%7BFLWA%7D%60%7DS$70.jpg 然后选择了是,结果就出现上面查询得出的结果。
就此问题的答案揭晓了。
于是我将SQL查询语句改了下,可以避免这种情况了。
只统计出用户表的个数:
select count(1) from sysobjects where XTYPE='u' and not in ('sysdiagrams')
页:
[1]