sp_tables_ex (Transact-SQL)

适用于SQL Server

返回有关指定链接服务器中表的信息。

Transact-SQL 语法约定

语法

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_typesysname,可以具有以下值之一。

说明
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_nametable_schematable_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';