sp_special_columns


Description

Retrieves the following information about columns within a specified table or view:


Syntax

sp_special_columns table_name [, table_owner] [, table_qualifier] [, col_type]


Parameters

table_name is the name of the table. Views, aliases, and wildcard-character search patterns are not supported.

table_owner is the owner of the table. Wildcard-character search patterns are not supported. If you do not specify this parameter, sp_special_columns looks first for a table owned by the current user and then for a table owned by the database owner.

table_qualifier is ignored. Leave blank or set to NULL.

col_type is a value that requests information about columns of a specific type as follows:


Usage

Results

sp_special_columns returns information about the columns that uniquely identify a row in a table.

The result set consists of a row for each column of an index that uniquely identifies each row of the table. If there are multiple unique indexes on a table, the one that is described by the result set is the first that exists in the following list:

The result set is ordered by the column name in the index.

The lengths for varchar columns shown in the result set tables are maximums; the actual lengths depend on the target database.

Table 6-15 shows the result set for sp_special_columns.

Table 6-15: Result set for sp_special_columns

Column

Datatype

Description

SCOPE

smallint

NOT NULL

Actual scope of the row ID:

  • 0 SQL_SCOPE_CURROW

  • 1 SQL_SCOPE_TRANSACTION

COLUMN_NAME

varchar(128)

NOT NULL

Column name.

DATA_TYPE

smallint

NOT NULL

ODBC datatype to which all columns of this type are mapped.

TYPE_NAME

varchar(128)

NOT NULL

Name of the target database datatype that corresponds to the ODBC datatype in the DATA_TYPE column.

PRECISION

int

Maximum precision for the datatype in the target database; NULL if precision is not applicable.

LENGTH

int

Length of the column in bytes.

SCALE

smallint

Number of digits to the right of the decimal point; NULL if scale is not applicable.

PSEUDO_COLUMN

smallint

Indicates whether the column is a pseudo-column; the server always returns 0 SQL_PC_UNKNOWN