次の方法で共有


SQLTables

SQLTables は静的サーバー カーソルで実行できます。更新可能なカーソル (動的カーソルまたはキーセット カーソル) で SQLTables を実行しようとすると、カーソルの種類が変更されていることを示す SQL_SUCCESS_WITH_INFO が返されます。

CatalogName パラメータに SQL_ALL_CATALOGS を指定し、他のすべてのパラメータに既定値 (NULL ポインタ) を指定すると、SQLTables は、すべてのデータベースのテーブルを報告します。

SQLTables では、使用可能なカタログ、スキーマ、およびテーブル型を報告するために、空文字列 (長さが 0 バイトのポインタ) を特別に使用します。空文字列は、既定値 (NULL ポインタ) ではありません。

SQL Server Native Client ODBC ドライバは、CatalogName パラメータについて 2 部構成の名前 (Linked_Server_Name.Catalog_Name) を受け入れることにより、リンク サーバーのテーブルに関する情報の報告をサポートしています。

SQLTables は、TableName と名前が一致し、現在のユーザーが所有するテーブルに関する情報を返します。

SQLTables とテーブル値パラメータ

ステートメント属性 SQL_SOPT_SS_NAME_SCOPE の値が、既定値の SQL_SS_NAME_SCOPE_TABLE ではなく SQL_SS_NAME_SCOPE_TABLE_TYPE である場合、SQLTables はテーブル型に関する情報を返します。SQLTables によって返される結果セットの列 4 でテーブル型に対して返される TABLE_TYPE 値は TABLE TYPE です。SQL_SOPT_SS_NAME_SCOPE の詳細については、「SQLSetStmtAttr」を参照してください。

テーブル、ビュー、およびシノニムは、テーブル型によって使用される名前空間とは異なる、共通の名前空間を共有します。テーブルとビューを同じ名前にすることはできませんが、同じ名前のテーブルとテーブル型を同じカタログおよびスキーマ内に配置することはできます。

テーブル値パラメータの詳細については、「テーブル値パラメータ (ODBC)」を参照してください。

// Get a list of all tables in the current database.
SQLTables(hstmt, NULL, 0, NULL, 0, NULL, 0, NULL,0);

// Get a list of all tables in all databases.
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, NULL, 0, NULL, 0, NULL,0);

// Get a list of databases on the current connection's server.
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, (SQLCHAR*)"", 0, (SQLCHAR*)"",
    0, NULL, 0);

関連項目

概念

その他の技術情報