Share via


SQLTables

SQLTables può essere eseguito su un cursore del server statico. Un tentativo di eseguire SQLTables su un cursore aggiornabile (dinamico o keyset) restituirà SQL_SUCCESS_WITH_INFO che indica che il tipo di cursore è stato modificato.

SQLTables crea un report delle tabelle di tutti i database quando il parametro CatalogName è SQL_ALL_CATALOGS e tutti gli altri parametri contengono valori predefiniti (puntatori NULL).

Per creare un report dei cataloghi, degli schemi e dei tipi di tabella disponibili, SQLTables utilizza stringhe vuote (puntatori con una lunghezza di byte pari e zero). Le stringhe vuote non sono valori predefiniti (puntatori NULL).

Il driver ODBC di SQL Server Native Client supporta la segnalazione di informazioni relative alle tabelle sui server collegati mediante l'accettazione di un nome in due parti per il parametro CatalogName: Linked_Server_Name.Catalog_Name.

SQLTables restituisce informazioni relative a qualsiasi tabella il cui nome corrisponde a TableName e il cui proprietario è l'utente corrente.

SQLTables e parametri con valori di tabella

Quando il valore di attributo dell'istruzione SQL_SOPT_SS_NAME_SCOPE è SQL_SS_NAME_SCOPE_TABLE_TYPE, anziché il valore predefinito di SQL_SS_NAME_SCOPE_TABLE, SQLTables restituisce informazioni sui tipi di tabella. Il valore TABLE_TYPE restituito per un tipo di tabella nella colonna 4 del set di risultati restituito da SQLTables è TABLE TYPE. Per ulteriori informazioni su SQL_SOPT_SS_NAME_SCOPE, vedere SQLSetStmtAttr.

Tabelle, viste e sinonimi condividono uno spazio dei nomi comune che è distinto dallo spazio dei nomi utilizzato dai tipi di tabella. Anche se non è possibile avere una tabella e una vista con lo stesso nome, è possibile avere una tabella e un tipo di tabella con lo stesso nome nello stesso catalogo e schema.

Per ulteriori informazioni sui parametri con valori di tabella, vedere Parametri con valori di tabella (ODBC).

Esempio

// 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);

Vedere anche

Concetti

Altre risorse