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,而且可以有下列其中一個值。
值 | 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_schema、table_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';