sp_columns(Transact-SQL)

현재 환경에서 쿼리할 수 있는 지정된 개체에 대한 열 정보를 반환합니다.

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

구문

sp_columns [ @table_name = ] object  [ , [ @table_owner = ] owner ] 
     [ , [ @table_qualifier = ] qualifier ] 
     [ , [ @column_name = ] column ] 
     [ , [ @ODBCVer = ] ODBCVer ]

인수

  • [ @table_name=] object
    카탈로그 정보를 반환하는 데 사용되는 개체의 이름입니다. object는 테이블 반환 함수 같은 열이 있는 테이블, 뷰 또는 기타 개체가 될 수 있습니다. object은 nvarchar(384)이며 기본값은 없습니다. 와일드카드 패턴 일치가 지원됩니다.

  • [ @table_owner=] owner
    카탈로그 정보를 반환하는 데 사용되는 개체의 개체 소유자입니다. owner는 nvarchar(384)이며 기본값은 NULL입니다. 와일드카드 패턴 일치가 지원됩니다. owner를 지정하지 않은 경우 기본 DBMS의 기본 개체 표시 규칙이 적용됩니다.

    현재 사용자가 지정된 이름의 개체를 소유한 경우 해당 개체의 열이 반환됩니다. owner가 지정되지 않았고 현재 사용자가 지정된 object의 개체를 소유하고 있지 않은 경우 sp_columns가 데이터베이스 소유자가 소유한 지정된 object의 개체를 찾습니다. 개체가 있으면 개체의 열이 반환됩니다.

  • [ @table_qualifier=] qualifier
    개체 한정자의 이름입니다. qualifier는 sysname이며 기본값은 NULL입니다. 다양한 DBMS 제품에서 개체에 대해 세 부분으로 구성된 이름(qualifier**.owner.**name)을 지원합니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 개체 데이터베이스 환경의 서버 이름을 나타냅니다.

  • [ @column_name=] column
    카탈로그 정보 중 한 열만을 사용하고자 할 때 지정하는 단일 열입니다. column은 nvarchar(384)이며 기본값은 NULL입니다. column을 지정하지 않으면 모든 열이 반환됩니다. SQL Server에서 column은 syscolumns 테이블에 나열된 열 이름을 나타냅니다. 와일드카드 패턴 일치가 지원됩니다. 상호 운용성을 극대화하려면 게이트웨이 클라이언트가 SQL-92 표준 패턴 일치(% 및 _ 와일드카드 문자)만을 사용해야 합니다.

  • [ @ODBCVer=] ODBCVer
    사용하고 있는 ODBC의 버전입니다. ODBCVer은 int이며 기본값은 2입니다. 이 값은 ODBC 버전 2를 나타내며 유효한 값은 2 또는 3입니다. 버전 2와 버전 3의 동작 차이에 대한 자세한 내용은 ODBC SQLColumns 사양을 참조하십시오.

반환 코드 값

없음

결과 집합

sp_columns 카탈로그 저장 프로시저는 ODBC의 SQLColumns와 같습니다. 반환된 결과는 TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME 순으로 정렬됩니다.

열 이름

데이터 형식

설명

TABLE_QUALIFIER

sysname

개체 한정자 이름입니다. 이 필드는 NULL이 될 수 있습니다.

TABLE_OWNER

sysname

개체 소유자 이름입니다. 이 필드는 항상 값을 반환합니다.

TABLE_NAME

sysname

개체 이름입니다. 이 필드는 항상 값을 반환합니다.

COLUMN_NAME

sysname

반환된 TABLE_NAME의 각 열 이름입니다. 이 필드는 항상 값을 반환합니다.

DATA_TYPE

smallint

ODBC 데이터 형식을 나타내는 정수 코드입니다. ODBC 형식에 매핑될 수 없는 데이터 형식인 경우에는 NULL이 됩니다. 네이티브 데이터 형식 이름이 TYPE_NAME 열에 반환됩니다.

TYPE_NAME

sysname

데이터 형식을 나타내는 문자열입니다. 이 이름은 기본 DBMS에서 제공합니다.

PRECISION

int

유효 자릿수입니다. PRECISION 열의 반환 값은 10진수를 기준으로 합니다.

LENGTH

int

데이터의 전송 크기입니다.1

SCALE

smallint

소수점 오른쪽 자릿수입니다.

RADIX

smallint

숫자 데이터 형식의 기수입니다.

NULLABLE

smallint

NULL 허용 여부를 지정합니다.

1 = NULL을 사용할 수 있습니다.

0 = NULL을 사용할 수 없습니다.

REMARKS

varchar(254)

이 필드는 항상 NULL을 반환합니다.

COLUMN_DEF

nvarchar(4000)

열의 기본값입니다.

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 데이터 형식입니다. 자세한 내용은 데이터 형식(Transact-SQL)을 참조하십시오.

1 자세한 내용은 Microsoft ODBC 설명서를 참조하십시오.

사용 권한

스키마에 대한 SELECT 권한이 필요합니다.

주의

sp_columns는 구분 식별자에 대한 요구 사항을 따릅니다. 자세한 내용은 데이터베이스 식별자를 참조하십시오.

다음 예에서는 지정된 테이블의 열 정보를 반환합니다.

USE AdventureWorks2012;
GO
EXEC sp_columns @table_name = N'Department',
   @table_owner = N'HumanResources';

참고 항목

참조

sp_tables(Transact-SQL)

카탈로그 저장 프로시저(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)