sp_tables (Transact-SQL)
更新 : 2006 年 12 月 12 日
現在の環境で照会されるオブジェクトの一覧を返します。これは、シノニム オブジェクトを除く、FROM 句で指定できる任意のオブジェクトを表します。
メモ : |
---|
シノニムのベース オブジェクトの名前を確認するには、sys.synonyms カタログ ビューをクエリします。 |
構文
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]
[ , [@fUsePattern = ] 'fUsePattern'];
引数
- [ @table_name= ] 'name'
カタログ情報を返すために使用するテーブルです。name は nvarchar(384) であり、既定値は NULL です。ワイルドカードによるパターン照合がサポートされています。
[ @table_owner= ] 'owner'
カタログ情報を返すために使用するテーブルのテーブル所有者です。owner は nvarchar(384) であり、既定値は NULL です。ワイルドカードによるパターン照合がサポートされています。所有者を指定しない場合は、基になる DBMS の既定のテーブル可視性ルールが適用されます。SQL Server では、指定された名前のテーブルを現在のユーザーが所有している場合、そのテーブルの列が返されます。所有者を指定せず、かつ、指定した名前のテーブルを現在のユーザーが所有していない場合は、このプロシージャは、データベース所有者が所有する、指定された名前のテーブルを探します。そのテーブルが存在する場合、そのテーブルの列が返されます。
- [ @table_qualifier= ] 'qualifier'
テーブル修飾子の名前です。qualifier は sysname であり、既定値は NULL です。さまざまな DBMS 製品において、テーブル名には 3 つの要素から成る名前 (qualifier**.owner.**name) がサポートされています。SQL Server では、この列はデータベース名を表します。製品によっては、そのテーブルのデータベース環境のサーバー名を表しています。
[ , [ @table_type= ] "'type'" ]
指定したテーブル型のすべてのテーブルに関する情報を持つ、コンマで区切られた値の一覧です。このテーブル型には、TABLE、SYSTEMTABLE、および VIEW が含まれます。type は varchar(100) であり、既定値は NULL です。メモ : テーブル型はそれぞれ単一引用符で囲み、パラメータ全体を二重引用符で囲む必要があります。テーブル型は必ず大文字です。SET QUOTED_IDENTIFIER がオンになっている場合は、単一引用符をそれぞれ 2 つずつ付け、パラメータ全体を単一引用符で囲む必要があります。
- [ @fUsePattern = ] 'fUsePattern'
アンダースコア (_)、パーセント (%)、および角かっこ ([ または ]) の各文字がワイルドカードとして解釈されるかどうかを決定します。有効な値は 0 (パターン一致がオフ) および 1 (パターン一致がオン) です。fUsePattern のデータ型は bit で、既定値は 1 です。
結果セット
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER |
sysname |
テーブル修飾子の名前です。SQL Server では、この列はデータベース名を表します。このフィールドは NULL の場合もあります。 |
TABLE_OWNER |
sysname |
テーブル所有者の名前です。SQL Server では、この列は、そのテーブルを作成したデータベース ユーザーの名前を表します。このフィールドは常に値を返します。 |
TABLE_NAME |
sysname |
テーブル名です。このフィールドは常に値を返します。 |
TABLE_TYPE |
varchar(32) |
テーブル、システム テーブル、またはビューです。 |
REMARKS |
varchar(254) |
SQL Server では、この列には値が返されません。 |
解説
相互運用可能性を最大にするため、ゲートウェイのクライアントは、SQL-92 標準の SQL パターン照合 (% と _ ワイルドカード文字) のみを想定してください。
特定のテーブルに対する、現在のユーザーの読み取りおよび書き込みアクセス権についての特権情報は必ずしも確認されません。したがって、アクセスは保証されません。この結果セットには、テーブルとビューだけでなく、それらの型をサポートする DBMS 製品へのゲートウェイのシノニムや別名も含まれます。sp_server_info の結果セットの中で、サーバー属性 ACCESSIBLE_TABLES が Y の場合、現在のユーザーがアクセスできるテーブルのみが返されます。
sp_tables は、ODBC の SQLTables に相当します。返される結果は、TABLE_TYPE、TABLE_QUALIFIER、TABLE_OWNER、TABLE_NAME の順序に従って並べ替えられます。
権限
スキーマに対する SELECT 権限が必要です。
戻り値
なし
例
A. 現在の環境で照会されるオブジェクトの一覧を返す
現在の環境で照会されるオブジェクトの一覧を返すには、次のようにします。
EXEC sp_tables ;
B. AdventureWorks 内のテーブルに関する情報を返す
次の例では、AdventureWorks
データベース内の Person
スキーマに属するテーブルに関する情報を返します。
USE AdventureWorks;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks';
参照
関連項目
ストアド プロシージャ カタログ (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|