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 は bit で、既定値は 1
です。
リターン コードの値
なし。
結果セット
列名 | データ型 | 説明 |
---|---|---|
TABLE_CAT |
sysname | テーブルの修飾子名です。 さまざまな DBMS 製品では、テーブルの 3 部構成の名前付け (<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 プロバイダーのIDBSchemaRowset
インターフェイスの TABLES 行セットに対してクエリを実行することによって実行されます。 table_name、table_schema、table_catalog、および column パラメーターがこのインターフェイスに渡され、返される行が制限されます。
sp_tables_ex
指定したリンク サーバーの OLE DB プロバイダーが、IDBSchemaRowset
インターフェイスのTABLES
行セットをサポートしていない場合は、空の結果セットが返されます。
アクセス許可
スキーマに対する SELECT
アクセス許可が必要です。
例
次の例では、LONDON2
リンク サーバー上のAdventureWorks2022
データベースのHumanResources
スキーマに含まれるテーブルに関する情報を返します。
EXEC sp_tables_ex @table_server = 'LONDON2',
@table_catalog = 'AdventureWorks2022',
@table_schema = 'HumanResources',
@table_type = 'TABLE';