SQLColumns

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQLColumns는 CatalogName, TableName 또는 ColumnName 매개 변수에 대한 값이 있는지 여부를 SQL_SUCCESS 반환합니다. SQLFetch 는 이러한 매개 변수에 잘못된 값이 사용되는 경우 SQL_NO_DATA 반환합니다.

참고 항목

큰 값 형식의 경우 모든 길이 매개 변수가 SQL_SS_LENGTH_UNLIMITED 값으로 반환됩니다.

SQLColumns는 정적 서버 커서에서 실행할 수 있습니다. 변경 가능한(동적 또는 키 집합) 커서에서 SQLColumns를 실행하려고 하면 커서 형식이 변경되었음을 나타내는 SQL_SUCCESS_WITH_INFO 반환됩니다.

SQL Server Native Client ODBC 드라이버는 CatalogName 매개 변수 Linked_Server_Name.Catalog_Name의 두 부분으로 구성된 이름을 수락하여 연결된 서버의 테이블에 대한 보고 정보를 지원합니다.

ODBC 2의 경우x 애플리케이션이 TableName에서 wild카드s를 사용하지 않는 경우 SQLColumns 는 이름이 TableName과 일치하고 현재 사용자가 소유한 테이블에 대한 정보를 반환합니다. 현재 사용자가 TableName 매개 변수와 일치하는 테이블을 소유하지 않는 경우 SQLColumns는 테이블 이름이 TableName 매개 변수와 일치하는 다른 사용자가 소유한 테이블에 대한 정보를 반환합니다. ODBC 2의 경우wild카드s를 사용하는 x 애플리케이션인 SQLColumns는 이름이 TableName과 일치하는 모든 테이블을 반환합니다. ODBC 3의 경우x 애플리케이션 SQLColumns는 소유자 또는 wild카드 사용 여부에 관계없이 이름이 TableName과 일치하는 모든 테이블을 반환합니다.

다음 표에서는 결과 집합에서 반환된 열을 나열합니다.

열 이름 설명
DATA_TYPE varchar(max) 데이터 형식에 대한 SQL_VARCHAR, SQL_VARBINARY 또는 SQL_WVARCHAR 반환합니다.
TYPE_NAME varchar(max), varbinary(max) 및 nvarchar(max) 데이터 형식에 대해 "varchar", "varbinary" 또는 "nvarchar"를 반환합니다.
COLUMN_SIZE 열 크기가 무제한임을 나타내는 varchar(max) 데이터 형식에 대한 SQL_SS_LENGTH_UNLIMITED 반환합니다.
BUFFER_LENGTH 버퍼의 크기가 무제한임을 나타내는 varchar(max) 데이터 형식에 대한 SQL_SS_LENGTH_UNLIMITED 반환합니다.
SQL_DATA_TYPE varchar(max) 데이터 형식에 대한 SQL_VARCHAR, SQL_VARBINARY 또는 SQL_WVARCHAR 반환합니다.
CHAR_OCTET_LENGTH 문자 또는 이진 열의 최대 길이를 반환합니다. 크기가 무제한임을 나타내려면 0을 반환합니다.
SS_XML_SCHEMACOLLECTION_CATALOG_NAME XML 스키마 컬렉션 이름이 정의된 카탈로그의 이름을 반환합니다. 카탈로그 이름을 찾을 수 없는 경우 이 변수에는 빈 문자열이 포함됩니다.
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME XML 스키마 컬렉션 이름이 정의된 스키마의 이름을 반환합니다. 스키마 이름을 찾을 수 없는 경우 이 변수에는 빈 문자열이 포함됩니다.
SS_XML_SCHEMACOLLECTION_NAME XML 스키마 컬렉션의 이름을 반환합니다. 이름을 찾을 수 없는 경우 이 변수에는 빈 문자열이 포함됩니다.
SS_UDT_CATALOG_NAME UDT(사용자 정의 형식)를 포함하는 카탈로그의 이름입니다.
SS_UDT_SCHEMA_NAME UDT를 포함하는 스키마의 이름입니다.
SS_UDT_ASSEMBLY_TYPE_NAME UDT의 어셈블리 정규화된 이름입니다.

UDT의 경우 기존 TYPE_NAME 열을 사용하여 UDT의 이름을 나타냅니다. 따라서 추가 열은 SQLColumns 또는 SQLProcedureColumns결과 집합에 추가되지 않아야 합니다. UDT 열 또는 매개 변수에 대한 DATA_TYPE SQL_SS_UDT.

매개 변수의 UDT의 경우 서버에서 이 정보를 반환하거나 요구하는 경우 위에서 정의한 새 드라이버 관련 설명자를 사용하여 UDT의 추가 메타데이터 속성을 얻거나 설정할 수 있습니다.

클라이언트가 SQL Server에 연결하고 SQLColumns를 호출하는 경우 카탈로그 입력 매개 변수에 NULL 또는 와일드 카드 값을 사용하면 다른 카탈로그의 정보가 반환되지 않습니다. 현재 카탈로그에 대한 정보만 반환됩니다. 클라이언트는 먼저 SQLTable을 호출하여 원하는 테이블이 있는 카탈로그를 확인할 수 있습니다. 그런 다음 클라이언트는 SQLColumns 호출에서 카탈로그 입력 매개 변수에 해당 카탈로그 값을 사용하여 해당 테이블의 열에 대한 정보를 검색할 수 있습니다.

SQLColumns 및 테이블 반환 매개 변수

SQLColumns에서 반환되는 결과 집합은 SQL_SOPT_SS_NAME_SCOPE 설정에 따라 달라집니다. 자세한 내용은 SQLSetStmtAttr을 참조 하세요. 테이블 반환 매개 변수에 대해 다음 열이 추가되었습니다.

열 이름 데이터 형식 콘텐츠
SS_IS_COMPUTED Smallint TABLE_TYPE 열의 경우 열이 계산 열이면 SQL_TRUE. 그렇지 않으면 SQL_FALSE.
SS_IS_IDENTITY Smallint 열이 ID 열인지 SQL_TRUE. 그렇지 않으면 SQL_FALSE.

테이블 반환 매개 변수에 대한 자세한 내용은 ODBC(테이블 반환 매개 변수)를 참조하세요.

향상된 날짜 및 시간 기능에 대한 SQLColumns 지원

날짜/시간 형식에 대해 반환되는 값에 대한 자세한 내용은 카탈로그 메타데이터를 참조하세요.

자세한 내용은 날짜 및 시간 개선 사항(ODBC)을 참조하세요.

큰 CLR UDT에 대한 SQLColumns 지원

SQLColumns는 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 ODBC(큰 CLR 사용자 정의 형식)를 참조하세요.

스파스 열에 대한 SQLColumns 지원

SQLColumns에 대한 결과 집합에 두 개의 SQL Server 특정 열이 추가되었습니다.

열 이름 데이터 형식 설명
SS_IS_SPARSE Smallint 열이 스파스 열이면 SQL_TRUE; 그렇지 않으면 SQL_FALSE.
SS_IS_COLUMN_SET Smallint 열이 column_set 열이면 SQL_TRUE, 그렇지 않으면 SQL_FALSE.

ODBC 사양에 따라 SS_IS_SPARSE 및 SS_IS_COLUMN_SET SQL Server 2008(10.0.x) 이전 버전에 추가된 모든 드라이버별 열과 ODBC 자체에 의해 위임된 모든 열 앞에 나타납니다.

SQLColumns에서 반환되는 결과 집합은 SQL_SOPT_SS_NAME_SCOPE 설정에 따라 달라집니다. 자세한 내용은 SQLSetStmtAttr을 참조 하세요.

ODBC의 스파스 열에 대한 자세한 내용은 ODBC(스파스 열 지원)를 참조하세요.

참고 항목

SQLColumns 함수
ODBC API 구현 정보