sp_tables_ex (Transact-SQL)
适用范围:SQL Server
返回有关指定链接服务器中表的信息。
语法
sp_tables_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @table_type = ] N'table_type' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
参数
[ @table_server = ] N'table_server'
要为其返回表信息的链接服务器的名称。 @table_server为 sysname,没有默认值。
[ @table_name = ] N'table_name'
要为其返回数据类型信息的表的名称。 @table_name为 sysname,默认值为 NULL
.
[ @table_schema = ] N'table_schema'
表架构。 @table_schema为 sysname,默认值为 NULL
.
[ @table_catalog = ] N'table_catalog'
指定 table_name 所在的数据库的名称。 @table_catalog为 sysname,默认值为 NULL
.
[ @table_type = ] N'table_type'
要返回的表的类型。 @table_type 为 sysname,可以具有以下值之一。
值 | 说明 |
---|---|
ALIAS |
别名。 |
GLOBAL TEMPORARY |
系统范围内可用的临时表的名称。 |
LOCAL TEMPORARY |
只限当前任务可用的临时表的名称。 |
SYNONYM |
同义词的名称。 |
SYSTEM TABLE |
系统表的名称。 |
SYSTEM VIEW |
系统视图的名称。 |
TABLE |
用户表的名称。 |
VIEW |
视图的名称。 |
[ @fUsePattern = ] fUsePattern
确定字符、%
[
]
字符_
和解释为通配符。 有效值为 0(模式匹配为关闭状态)和 1(模式匹配为打开状态)。 @fUsePattern 为 位,默认值为 1
.
返回代码值
无。
结果集
列名称 | 数据类型 | 描述 |
---|---|---|
TABLE_CAT |
sysname | 表限定符名称。 各种 DBMS 产品支持表的三部分命名(<qualifier>.<owner>.<name> )。 在 SQL Server 中,此列表示数据库名称。 在某些其他产品中,该列表示表的数据库环境的服务器名。 此字段可以是 NULL . |
TABLE_SCHEM |
sysname | 表所有者名称。 在 SQL Server 中,此列表示创建该表的数据库用户的名称。 此字段始终返回值。 |
TABLE_NAME |
sysname | 表名。 此字段始终返回值。 |
TABLE_TYPE |
varchar(32) | 表、系统表或视图。 |
REMARKS |
varchar(254) | SQL Server 不返回此列的值。 |
注解
sp_tables_ex
通过查询对应于table_server的 OLE DB 访问接口的 TABLES 行集IDBSchemaRowset
来执行。 table_name、table_schema、table_catalog 和列参数将传递给此接口以限制返回的行。
sp_tables_ex
如果指定的链接服务器的 OLE DB 提供程序不支持 TABLES
接口的行集,则返回空结果集 IDBSchemaRowset
。
权限
需要对架构的 SELECT
权限。
示例
以下示例返回有关 HumanResources
链接服务器上 AdventureWorks2022
数据库中 LONDON2
架构包含的有关表的信息。
EXEC sp_tables_ex @table_server = 'LONDON2',
@table_catalog = 'AdventureWorks2022',
@table_schema = 'HumanResources',
@table_type = 'TABLE';