首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >master..sysdatabases和test..sysobjects是什么意思?

master..sysdatabases和test..sysobjects是什么意思?
EN

Stack Overflow用户
提问于 2014-07-22 20:07:43
回答 1查看 2K关注 0票数 0

最近我正在学习如何使用SQL server。我不明白为什么在以下语句中使用master..sysdatabases和test..sysobjects:

代码语言:javascript
复制
select name from [master]..[sysdatabases] where dbid=1;
select count(1) from [test]..[sysobjects] where xtype = 'U';

计数(1)中的1是什么意思?是指第一栏吗?谢谢你有任何有用的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 21:02:44

第一行基本上是获取主数据库的名称(它查看所有数据库的列表,并返回ID为1的数据库名称,在本例中通常是“master”)。

如果要查看服务器上的所有数据库,请执行以下操作:

代码语言:javascript
复制
SELECT * FROM [master]..[sysdatabases]

请注意,带有"dbid“= 1的行是”主“数据库的行,该数据库是所有Server实例上的系统数据库。

第二行计算名为“test”的数据库中sysobjects集合中的行数,其中类型是用户表(即不是存储过程,不是系统表,等等)。

在表达式“x.y”中,'x‘是数据库的名称,'y’是该数据库中表或视图的名称。

如果您有一个名为"Foo“的数据库,并且在其中有一个名为"Bar”的表,那么这个语句将返回该表中的行数:

代码语言:javascript
复制
SELECT COUNT(1) FROM [Foo]..[Bar]

正如Ed上面所描述的,“1”只是一个位置持有者,可以在任何可能的数据库或版本上以最有效的方式计算行的总数。这已经变成了一种简单的计数方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24896897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档