Share via


SQLTables

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics 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);  

另請參閱

SQLTables 函數
ODBC API 實作詳細資料