sp_columns_ex(Transact-SQL)
지정한 연결된 서버 테이블에 대해 각 열마다 한 행씩 열 정보를 반환합니다. sp_columns_ex는 column이 지정된 경우에 지정된 열에 대해서만 열 정보를 반환합니다.
구문
sp_columns_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @column_name = ] 'column' ]
[ , [ @ODBCVer = ] 'ODBCVer' ]
인수
[ @table_server = ] 'table_server'
열 정보를 반환할 연결된 서버의 이름입니다. table_server는 sysname이며 기본값은 없습니다.[ @table_name = ] 'table_name'
열 정보를 반환할 대상이 되는 테이블의 이름입니다. table_name은 sysname이며 기본값은 NULL입니다.[ @table_schema = ] 'table_schema'
열 정보를 반환할 대상이 되는 테이블의 스키마 이름입니다. table_schema는 sysname이며 기본값은 NULL입니다.[ @table_catalog = ] 'table_catalog'
열 정보를 반환할 대상이 되는 테이블의 카탈로그 이름입니다. table_catalog는 sysname이며 기본값은 NULL입니다.[ @column_name = ] 'column'
정보를 제공할 대상이 되는 데이터베이스 열의 이름입니다. column은 sysname이며 기본값은 NULL입니다.[ @ODBCVer = ] 'ODBCVer'
사용하고 있는 ODBC 버전입니다. ODBCVer은 int이며 기본값은 2입니다. 이 값은 ODBC 버전 2를 나타내며 유효한 값은 2 또는 3입니다. 버전 2와 버전 3의 동작 차이에 대한 자세한 내용은 ODBC SQLColumns 사양을 참조하십시오.
반환 코드 값
없음
결과 집합
열 이름 |
데이터 형식 |
설명 |
---|---|---|
TABLE_CAT |
sysname |
테이블 또는 뷰 한정자 이름입니다. 다양한 DBMS 제품에서 테이블에 대해 세 부분으로 구성된 이름(qualifier.owner.name)을 지원합니다. SQL Server 2008과 SQL Server 2005에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다. 이 필드는 NULL이 될 수 있습니다. |
TABLE_SCHEM |
sysname |
테이블 또는 뷰 소유자 이름입니다. SQL Server에서 이 열은 테이블을 만든 데이터베이스 사용자의 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다. |
TABLE_NAME |
sysname |
테이블 또는 뷰 이름입니다. 이 필드는 항상 값을 반환합니다. |
COLUMN_NAME |
sysname |
반환된 TABLE_NAME의 각 열 이름입니다. 이 필드는 항상 값을 반환합니다. |
DATA_TYPE |
smallint |
ODBC 형식 식별자에 해당하는 정수 값입니다. ODBC 형식에 매핑될 수 없는 데이터 형식인 경우에 이 값은 NULL이 됩니다. 네이티브 데이터 형식 이름이 TYPE_NAME 열에 반환됩니다. |
TYPE_NAME |
varchar(13) |
데이터 형식을 나타내는 문자열입니다. 이 이름은 기본 DBMS에서 제공합니다. |
COLUMN_SIZE |
int |
유효 자릿수입니다. PRECISION 열의 반환 값은 10진수를 기준으로 합니다. |
BUFFER_LENGTH |
int |
데이터의 전송 크기입니다.1 |
DECIMAL_DIGITS |
smallint |
소수점 오른쪽 자릿수입니다. |
NUM_PREC_RADIX |
smallint |
숫자 데이터 형식의 기준입니다. |
NULLABLE |
smallint |
NULL 허용 여부를 지정합니다. 1 = NULL을 사용할 수 있습니다. 0 = NULL을 사용할 수 없습니다. |
REMARKS |
varchar(254) |
이 필드는 항상 NULL을 반환합니다. |
COLUMN_DEF |
varchar(254) |
열의 기본값입니다. SQL Server 2008 및 SQL Server 2005는 카탈로그 메타데이터에 SQL 식을 디코딩하고 저장하는 방식에서 SQL Server 2000과 다릅니다. 디코딩된 식의 의미 체계는 원본 텍스트와 동일하지만 구문은 일치하지 않을 수 있습니다. 예를 들어 공백은 디코딩된 식에서 제거됩니다. 자세한 내용은 SQL Server 2008 R2 데이터베이스 엔진 기능의 동작 변경 내용를 참조하십시오. |
SQL_DATA_TYPE |
smallint |
설명자의 TYPE 필드에 표시된 SQL 데이터 형식의 값입니다. 이 열은 datetime 및 SQL-92 interval 데이터 형식을 제외하고 DATA_TYPE 열과 동일합니다. 이 열은 항상 값을 반환합니다. |
SQL_DATETIME_SUB |
smallint |
datetime 및 SQL-92 interval 데이터 형식에 대한 하위 유형 코드입니다. 이 열은 다른 데이터 형식에 대해서는 NULL을 반환합니다. |
CHAR_OCTET_LENGTH |
int |
문자 또는 정수 데이터 형식 열의 최대 길이를 바이트로 표시한 것입니다 이 열은 다른 모든 데이터 형식에 대해서는 NULL을 반환합니다. |
ORDINAL_POSITION |
int |
테이블에 있는 열의 순서 위치입니다. 테이블의 첫 번째 열은 1입니다. 이 열은 항상 값을 반환합니다. |
IS_NULLABLE |
varchar(254) |
테이블에 있는 열의 Null 허용 여부입니다. ISO 규칙을 따라서 Null 허용 여부를 결정합니다. ISO SQL-호환 DBMS에서는 빈 문자열을 반환할 수 없습니다. YES = 열이 NULL을 포함할 수 있습니다. NO = 열이 NULL을 포함할 수 없습니다. Null 허용 여부를 알 수 없으면 이 열에서는 길이가 0인 문자열을 반환합니다. 이 열에 대해 반환되는 값은 NULLABLE 열에 대해 반환되는 값과 다릅니다. |
SS_DATA_TYPE |
tinyint |
확장 저장 프로시저에 사용되는 SQL Server 데이터 형식입니다. 자세한 내용은 데이터 형식(데이터베이스 엔진)을 참조하십시오. |
자세한 내용은 Microsoft ODBC 설명서를 참조하십시오.
주의
sp_columns_ex는 table_server에 해당되는 OLE DB 공급자의 IDBSchemaRowset 인터페이스에 있는 COLUMNS 행 집합을 쿼리하여 실행됩니다. 반환되는 행 수를 제한하기 위해 table_name, table_schema, table_catalog 및 column 매개 변수가 이 인터페이스로 전달됩니다.
sp_columns_ex는 지정한 연결된 서버의 OLE DB 공급자가 IDBSchemaRowset 인터페이스의 COLUMNS 행 집합을 지원하지 않는 경우 빈 결과 집합을 반환합니다.
sp_columns_ex는 구분 식별자에 대한 요구 사항을 따릅니다. 자세한 내용은 구분 식별자(데이터베이스 엔진)를 참조하십시오.
사용 권한
스키마에 대한 SELECT 권한이 필요합니다.
예
다음 예에서는 연결된 서버 Seattle1에 있는 AdventureWorks2008R2 데이터베이스의 HumanResources.Employee 테이블에 있는 JobTitle 열에 대한 데이터 형식을 반환합니다.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2008R2',
'JobTitle';