SQLTables

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQLTables se pueden ejecutar en un cursor de servidor estático. Un intento de ejecutar SQLTables en un cursor actualizable (dinámico o conjunto de claves) devolverá SQL_SUCCESS_WITH_INFO que indica que se ha cambiado el tipo de cursor.

SQLTables notifica tablas de todas las bases de datos cuando el parámetro CatalogName está SQL_ALL_CATALOGS y todos los demás parámetros contienen valores predeterminados (punteros NULL).

Para notificar catálogos, esquemas y tipos de tabla disponibles, SQLTables usa cadenas vacías (punteros de bytes de longitud cero). Las cadenas vacías no son valores predeterminados (punteros NULL).

El controlador ODBC de SQL Server Native Client admite la información de informes de tablas en servidores vinculados aceptando un nombre de dos partes para el parámetro CatalogName: Linked_Server_Name.Catalog_Name.

SQLTables devuelve información sobre las tablas cuyos nombres coinciden con TableName y son propiedad del usuario actual.

SQLTables y parámetros con valores de tabla

Cuando el atributo de instrucción SQL_SOPT_SS_NAME_SCOPE tiene el valor SQL_SS_NAME_SCOPE_TABLE_TYPE, en lugar de su valor predeterminado de SQL_SS_NAME_SCOPE_TABLE, SQLTables devuelve información sobre los tipos de tabla. El valor de TABLE_TYPE devuelto para un tipo de tabla en la columna 4 del conjunto de resultados devuelto por SQLTables es TABLE TYPE. Para obtener más información sobre SQL_SOPT_SS_NAME_SCOPE, vea SQLSetStmtAttr.

Las tablas, vistas y sinónimos comparten un espacio de nombres común que es distinto del espacio de nombres que utilizan los tipos de tabla. Aunque no es posible tener una tabla y una vista con el mismo nombre, sí se puede tener una tabla y un tipo de tabla con el mismo nombre en el mismo catálogo y esquema.

Para obtener más información sobre los parámetros con valores de tabla, vea Parámetros con valores de tabla (ODBC).

Ejemplo

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

Consulte también

Función SQLTables
ODBC API Implementation Details