sp_columns(Transact-SQL)
현재 환경에서 쿼리할 수 있는 지정된 테이블 또는 뷰에 관한 열 정보를 반환합니다.
구문
sp_columns [ @table_name = ] object [ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
인수
[ @table_name=] object
카탈로그 정보를 반환하는 데 사용되는 테이블 또는 뷰의 이름입니다. object_name은 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 Server 2008 및 SQL Server 2005는 카탈로그 메타데이터에 SQL 식을 디코딩하고 저장하는 방식에서 SQL Server 2000과 다릅니다. 디코딩된 식의 의미 체계는 원본 텍스트와 동일하지만 구문은 일치하지 않을 수 있습니다. 예를 들어 공백은 디코딩된 식에서 제거됩니다. 자세한 내용은 SQL Server 2008 데이터베이스 엔진 기능의 동작 변경 내용를 참조하십시오. |
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 사용 권한이 필요합니다.
예
다음 예에서는 지정된 테이블의 열 정보를 반환합니다.
USE AdventureWorks
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';