SQLTables
SQLTables는 정적 서버 커서에 대해 실행할 수 있습니다. 업데이트할 수 있는(동적 또는 키 집합) 커서에 대해 SQLTables를 실행하려고 하면 커서 유형이 변경되었음을 나타내는 SQL_SUCCESS_WITH_INFO가 반환됩니다.
SQLTables는 CatalogName 매개 변수가 SQL_ALL_CATALOGS이고 다른 모든 매개 변수가 기본값(NULL 포인터)을 포함하는 경우 모든 데이터베이스의 테이블을 보고합니다.
SQLTables는 사용할 수 있는 카탈로그, 스키마 및 테이블 형식을 보고하기 위해 빈 문자열(길이가 0인 바이트 포인터)을 특별하게 사용합니다. 빈 문자열은 기본값(NULL 포인터)이 아닙니다.
SQL Server Native Client ODBC 드라이버는 CatalogName 매개 변수에 두 부분으로 된 이름인 Linked_Server_Name.Catalog_Name.
SQLTables는 TableName과 이름이 일치하고 현재의 사용자가 소유한 모든 테이블에 대한 정보를 반환합니다.
SQLTables 및 테이블 반환 매개 변수
문 특성 SQL_SOPT_SS_NAME_SCOPE에 기본값인 SQL_SS_NAME_SCOPE_TABLE이 아니라 SQL_SS_NAME_SCOPE_TABLE_TYPE 값이 있으면 SQLTables는 테이블 형식에 대한 정보를 반환합니다. SQLTables가 반환하는 결과 집합의 열 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);