sp_columns(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 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 데이터 형식입니다. 자세한 내용은 데이터 형식(Transact-SQL)을 참조하십시오. |
1 자세한 내용은 Microsoft ODBC 설명서를 참조하십시오.
사용 권한
스키마에 대한 SELECT 권한이 필요합니다.
예
다음 예에서는 지정된 테이블의 열 정보를 반환합니다.
USE AdventureWorks2008R2;
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';