分享方式:


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_type為 sysname,而且可以有下列其中一個值。

Description
ALIAS 別名的名稱。
GLOBAL TEMPORARY 全系統可用的臨時表名稱。
LOCAL TEMPORARY 目前作業只能使用之臨時表的名稱。
SYNONYM 同義字的名稱。
SYSTEM TABLE 系統數據表的名稱。
SYSTEM VIEW 系統檢視的名稱。
TABLE 用戶數據表的名稱。
VIEW 檢視的名稱。

[ @fUsePattern = ] fUsePattern

判斷、%[] 字元_是否解譯為通配符。 有效值為 0(模式比對已關閉)和 1(模式比對為開啟)。 @fUsePattern為 bit,預設值為 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_schematable_catalog和數據參數會傳遞至這個介面,以限制傳回的數據列。

sp_tables_ex 如果指定的連結伺服器的 OLE DB 提供者不支援 TABLES 介面的數據 IDBSchemaRowset 列集,則傳回空的結果集。

權限

SELECT需要架構的許可權。

範例

下列範例會傳回連結伺服器上資料庫LONDON2架構AdventureWorks2022中包含的HumanResources數據表相關信息。

EXEC sp_tables_ex @table_server = 'LONDON2',
@table_catalog = 'AdventureWorks2022',
@table_schema = 'HumanResources',
@table_type = 'TABLE';