sp_tables_ex (Transact-SQL)
傳回指定之連結伺服器中資料表的資料表相關資訊。
語法
sp_tables_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @table_type = ] 'table_type' ]
[ , [@fUsePattern = ] 'fUsePattern' ]
引數
[ @table_server= ] 'table_server'
這是傳回資料表資訊所屬的連結伺服器名稱。table_server 是 sysname,沒有預設值。[ , [ @table_name= ] 'table_name']
這是傳回資料類型資訊所屬的資料表名稱。table_name是 sysname,預設值是 NULL。[ @table_schema= ] 'table_schema']
這是資料表結構描述。table_schema 是 sysname,預設值是 NULL。[ @table_catalog= ] 'table_catalog'
這是指定的 table_name 所在的資料庫名稱。table_catalog 是 sysname,預設值是 NULL。[ @table_type= ] 'table_type'
這是要傳回的資料表類型。table_type 是 sysname,預設值是 NULL,而且可以是下列其中一個值。值
描述
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 2008 中,這個資料行代表資料庫名稱。在某些其他產品中,它代表資料表之資料庫環境的伺服器名稱。這個欄位可以是 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 提供者之 IDBSchemaRowset 介面的 TABLES 資料列集。table_name、table_schema、table_catalog 及 column 參數會傳遞給這個介面來限制傳回的資料列。
如果指定之連結伺服器的 OLE DB 提供者不支援 IDBSchemaRowset 介面的 TABLES 資料列集,sp_tables_ex 會傳回空的結果集。
權限
需要結構描述的 SELECT 權限。
範例
下列範例會傳回 LONDON2 連結伺服器 AdventureWorks2008R2 資料庫中的 HumanResources 結構描述所包含之資料表的相關資訊。
EXEC sp_tables_ex @table_server = 'LONDON2',
@table_catalog = 'AdventureWorks2008R2',
@table_schema = 'HumanResources',
@table_type = 'TABLE';