SQLTables
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
SQLTable は、静的サーバー カーソルで実行できます。 更新可能 (動的またはキーセット) カーソルで SQLTable を実行しようとすると、カーソルの種類が変更されたことを示すSQL_SUCCESS_WITH_INFOが返されます。
sqlTables は、 CatalogName パラメーターがSQL_ALL_CATALOGSされ、他のすべてのパラメーターに既定値 (NULL ポインター) が含まれている場合に、すべてのデータベースのテーブルを報告します。
使用可能なカタログ、スキーマ、およびテーブル型を報告するために、SQLTable では空の文字列 (長さ 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値がある場合、SQLTable はテーブル型に関する情報を返します。 SQLTables によって返される結果セットの列 4 のテーブル型に対して返されるTABLE_TYPE値は TABLE TYPE です。 SQL_SOPT_SS_NAME_SCOPEの詳細については、「 SQLSetStmtAttrを参照してください。
テーブル、ビュー、およびシノニムは、テーブル型によって使用される名前空間とは異なる、共通の名前空間を共有します。 テーブルとビューを同じ名前にすることはできませんが、同じ名前のテーブルとテーブル型を同じカタログおよびスキーマ内に配置することはできます。
テーブル値パラメーターの詳細については、「 Table-Valued Parameters (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);