SQLTables
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
SQLTable 可以在靜態伺服器數據指標上執行。 嘗試在可更新的 (動態或索引鍵集) 資料指標上執行 SQLTable,將會傳回SQL_SUCCESS_WITH_INFO指出數據指標類型已變更。
當 CatalogName 參數SQL_ALL_CATALOGS且所有其他參數包含預設值 (NULL 指標) 時,SQLTables 會報告來自所有資料庫的數據表。
為了報告可用的目錄、架構和數據表類型,SQLTables 會特別使用空字串(長度為零的位元組指標)。 空字串不是預設值(NULL 指標)。
SQL Server Native Client ODBC 驅動程式支援報告連結伺服器上數據表的資訊,方法是接受 CatalogName 參數的兩部分名稱:Linked_Server_Name.Catalog_Name。
SQLTables 會傳回任何名稱符合 TableName 且由目前使用者所擁有之數據表的相關信息。
SQLTable 和數據表值參數
當語句屬性SQL_SOPT_SS_NAME_SCOPE具有值SQL_SS_NAME_SCOPE_TABLE_TYPE,而不是其預設值SQL_SS_NAME_SCOPE_TABLE時,SQLTables 會傳回數據表類型的相關信息。 SQLTable 所傳回結果集第 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);