古城热线 发表于 2015-7-5 09:00:26

查询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]
查看完整版本: 查询SQL Server数据库中的用户表的数量的问题