略微加速

略速 - 互联网笔记

sqlserver列出当前库/表命令

2022-09-16 leiting (1935阅读)

标签 数据库

sp_databases
列出驻留在 Microsoft® SQL Server™ 实例中的数据库或可以通过数据库网关访问的数据库。

语法
sp_databases

返回代码值


结果集
列名 数据类型 描述
DATABASE_NAME sysname 数据库的名称。在 SQL Server 中,此列代表存储在 sysdatabases 系统表中的数据库的名称。
DATABASE_SIZE int 数据库的大小(以 KB 计)。
REMARKS varchar(254) 对于 SQL Server,该字段的返回值为 NULL。


注释
在 SQL Server 中,sp_databases 返回在 sysdatabases 系统表中列出的数据库。由于数据库网关所访问的一些数据库管理系统 (DBMS) 没有数据库概念,所以如果发送到基于 Microsoft 开放式数据服务的网关,该存储过程可能不返回任何行。

所返回的数据库名称可以作为 USE 语句的参数,用来更改当前数据库上下文。

sp_databases 在开放式数据库连接 (ODBC) 中没有等价的过程。

权限
执行权限默认授予 public 角色。

************************************************************
sp_tables
返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)。

语法
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]

参数
[@table_name =] 'name'

用来返回目录信息的表。name 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。

[@table_owner =] 'owner'

用来返回目录信息的表的所有者。owner 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。如果没有指定 owner,则采用基础 DBMS 默认的表可视性规则。

在 Microsoft® SQL Server™ 中,如果当前用户拥有的表具有指定名称,则返回该表的列。如果未指定所有者,且当前用户未拥有指定名称的表,则该过程查找由数据库所有者拥有的具有指定名称的表。如果有,则返回该表的列。

[@table_qualifier =] 'qualifier'

是表限定符的名称。qualifier 的数据类型为 sysname,默认设置为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。

[,[@table_type =] "'type'"]

值的列表,由逗号分隔,它给出指定表类型的所有表的有关信息,包括 TABLE、SYSTEM TABLE 和 VIEW。type 的数据类型为 varchar(100),默认值为 NULL。



说明 每个表类型都必须用单引号括起来,整个参数必须用双引号括起来。表类型必须大写。如果 SET QUOTED_IDENTIFIER 为 ON,那么每个单引号必须换成双引号,整个参数必须用单引号括起来。


返回代码值


结果集
列名 数据类型 描述
TABLE_QUALIFIER sysname 表限定符名称。在 SQL Server 中,该列表示数据库名。该字段可以为 NULL。
TABLE_OWNER sysname 表所有者名称。在 SQL Server 中,该列表示创建表的数据库用户的姓名。该字段始终返回值。
TABLE_NAME sysname 表名。该字段始终返回值。
TABLE_TYPE varchar(32) 表、系统表或视图。
REMARKS varchar(254) SQL Server 不为该列返回值。


注释
为达到最大互操作性,网关客户应假定只有 SQL-92 标准的 SQL 模式匹配(% 和 _ 通配符)。

并不总是检验有关当前用户对特定表的读写特权信息,因此不能确保访问。这个结果集不仅包含表和视图,还包含网关的同名和别名,这些网关通往支持这些类型的 DBMS 产品。如果在 sp_server_info 的结果集中,服务器特性 ACCESSIBLE_TABLES 是 Y,则只返回当前用户可访问的表。

sp_tables 与 ODBC 中的 SQLTables 等同。返回结果按 TABLE_TYPE、TABLE_QUALIFIER、TABLE_OWNER 和 TABLE_NAME 顺序排列。

权限
执行权限默认授予 public 角色。

示例
A. 返回可在当前环境中查询的对象的列表
EXEC sp_tables

B. 返回 Company 数据库中表 syscolumns 的有关信息
EXEC sp_tables syscolumns, dbo, Company, "'SYSTEM TABLE'"


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3