Partilhar via


sp_columns (Transact-SQL)

Retorna as informações de colunas dos objetos especificados que podem ser consultados no ambiente atual.

Ícone de vínculo de tópico 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';

Consulte também

Referência

sp_tables (Transact-SQL)

procedimentos armazenados do catálogo (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)