sp_columns (Transact-SQL)
Retorna as informações de colunas dos objetos especificados que podem ser consultados no ambiente atual.
Convenções da sintaxe Transact-SQL
Sintaxe
sp_columns [ @table_name = ] object [ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
Argumentos
[ @table_name=] object
É o nome do objeto usado para retornar informações do catálogo. O object pode ser uma tabela, exibição ou outro objeto que tem colunas como funções com valor de tabela. object é nvarchar(384), sem padrão. Há suporte para a correspondência do padrão curinga.[ @table_owner=] owner
É o proprietário do objeto usado para retornar informações do catálogo. owner é nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de objeto padrão do DBMS subjacente.Se o usuário atual possuir um objeto com o nome especificado, as colunas desse objeto serão retornadas. Se owner não for especificado e o usuário atual não possuir um objeto com o object especificado, sp_columns procurará um objeto com o object especificado que seja do proprietário do banco de dados. Se existir, as colunas desse objeto serão retornadas.
[ @table_qualifier=] qualifier
É o nome do qualificador do objeto. qualifier é sysname, com um padrão de NULL. Vários produtos DBMS oferecem suporte à nomenclatura de três partes de objetos (qualifier**.owner.**name). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, ela representa o nome do servidor do ambiente de banco de dados do objeto.[ @column_name=] column
É uma única coluna, usada quando apenas uma coluna de informações de catálogo é desejada. column é nvarchar(384), com o padrão de NULL. Se column não for especificado, todas as colunas serão retornadas. No SQL Server, column representa o nome de coluna como listado na tabela syscolumns. Há suporte para a correspondência de padrão curinga. Para interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão SQL-92 (os caracteres curinga % e _).[ @ODBCVer=] ODBCVer
É a versão do ODBC está sendo usada. ODBCVer é int, com o padrão de 2. Isso indica ODBC versão 2. Os valores válidos são 2 ou 3. Para obter as diferenças de comportamento entre as versões 2 e 3, consulte a especificação SQLColumns do ODBC.
Valores de código de retorno
Nenhum
Conjuntos de resultados
O procedimento armazenado de catálogo sp_columns é equivalente a SQLColumns no ODBC. Os resultados retornados são ordenados porTABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
TABLE_QUALIFIER |
sysname |
Nome do qualificador do objeto. Esse campo pode ser NULL. |
TABLE_OWNER |
sysname |
Nome do proprietário do objeto. Esse campo sempre retorna um valor. |
TABLE_NAME |
sysname |
Nome do objeto. Esse campo sempre retorna um valor. |
COLUMN_NAME |
sysname |
Nome de cada coluna do TABLE_NAME retornado. Este campo sempre retorna um valor. |
DATA_TYPE |
smallint |
Código inteiro para o tipo de dados do ODBC. Se este for um tipo de dados que não pode ser mapeado para um tipo do ODBC, ele será NULL. O nome do tipo de dados nativo é retornado na coluna TYPE_NAME. |
TYPE_NAME |
sysname |
Cadeia de caracteres que representa um tipo de dados. O DBMS subjacente apresenta este nome de tipo de dados. |
PRECISION |
int |
Número de dígitos significativos. O valor de retorno da coluna PRECISION está em base 10. |
LENGTH |
int |
Tamanho da transferência dos dados.1 |
SCALE |
smallint |
Número de dígitos à direita da vírgula decimal. |
RADIX |
smallint |
Base para tipos de dados numéricos. |
NULLABLE |
smallint |
Especifica possibilidade de nulidade: 1 = NULL é possível. 0 = NOT NULL. |
REMARKS |
varchar(254) |
Esse campo sempre retorna NULL. |
COLUMN_DEF |
nvarchar(4000) |
Valor padrão da coluna. |
SQL_DATA_TYPE |
smallint |
Valor do tipo de dados SQL conforme é exibido no campo TYPE do descritor. Esta coluna é igual à coluna DATA_TYPE, com exceção dos tipos de dados datetime e interval do SQL-92. Esta coluna sempre retorna um valor. |
SQL_DATETIME_SUB |
smallint |
Código de subtipo para os tipos de dados datetime e interval do SQL-92. Para outros tipos de dados, esta coluna retorna NULL. |
CHAR_OCTET_LENGTH |
int |
Comprimento máximo em bytes de uma coluna do tipo de dados caractere ou inteiro. Para todos os outros tipos de dados, essa coluna retorna NULL. |
ORDINAL_POSITION |
int |
Posição ordinal da coluna no objeto. A primeira coluna no objeto é 1. Essa coluna sempre retorna um valor. |
IS_NULLABLE |
varchar(254) |
A nulidade da coluna no objeto. As regras ISO são seguidas para determinar a nulidade. Um DBMS em conformidade com ISO SQL não pode retornar uma cadeia de caracteres vazia. YES = A coluna pode incluir NULLS. NO = A coluna não pode incluir NULLS. Esta coluna retornará uma cadeia de caracteres de comprimento zero se a possibilidade de nulidade for desconhecida. O valor retornado para esta coluna é diferente do valor retornado para a coluna NULLABLE. |
SS_DATA_TYPE |
tinyint |
Tipo de dados do SQL Server usado por procedimentos armazenados estendidos. Para obter mais informações, consulte Tipos de dados (Transact-SQL). |
1 Para obter mais informações, consulte a documentação do Microsoft ODBC.
Permissões
Requer permissão SELECT no esquema.
Comentários
sp_columns segue os requisitos para identificadores delimitados. Para obter mais informações, consulte Identificadores de banco de dados.
Exemplos
O exemplo a seguir retorna informações de coluna para uma tabela especificada.
USE AdventureWorks2012;
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';