다음을 통해 공유


sp_columns_ex(Transact-SQL)

지정한 연결된 서버 테이블에 대해 각 열마다 한 행씩 열 정보를 반환합니다. sp_columns_excolumn이 지정된 경우에 지정된 열에 대해서만 열 정보를 반환합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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';