次の方法で共有


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_serversysname で、既定値はありません。

[ @table_name = ] N'table_name'

データ型情報を返すテーブルの名前。 @table_namesysname で、既定値は NULL です。

[ @table_schema = ] N'table_schema'

テーブル スキーマ。 @table_schemasysname で、既定値は NULL です。

[ @table_catalog = ] N'table_catalog'

指定した table_name が存在するデータベースの名前。 @table_catalogsysname で、既定値は NULL です。

[ @table_type = ] N'table_type'

返すテーブルの型。 @table_typesysname で、次のいずれかの値を指定できます。

説明
ALIAS エイリアスの名前。
GLOBAL TEMPORARY システム全体で使用可能な一時テーブルの名前。
LOCAL TEMPORARY 現在のジョブでのみ使用できる一時テーブルの名前。
SYNONYM シノニムの名前。
SYSTEM TABLE システム テーブルの名前です。
SYSTEM VIEW システム ビューの名前。
TABLE ユーザー テーブルの名前。
VIEW ビューの名前。

[ @fUsePattern = ] fUsePattern

文字 _%[、および ] がワイルドカード文字として解釈されるかどうかを判断します。 有効な値は 0 (パターン マッチングがオフ) と 1 (パターン マッチングがオン) です。 @fUsePatternbit で、既定値は 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_nametable_schematable_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';