Partilhar via


sp_columns_ex (Transact-SQL)

Retorna as informações da coluna, uma linha por coluna, para as tabelas especificadas do servidor vinculado. sp_columns_ex retorna as informações de coluna apenas da coluna específica se column estiver especificado.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_columns_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ] 
     [ , [ @column_name = ] 'column' ] 
     [ , [ @ODBCVer = ] 'ODBCVer' ]

Argumentos

  • [ @table_server = ] 'table_server'
    É o nome do servidor vinculado para o qual as informações de coluna devem ser retornadas. table_server é sysname, sem padrão.

  • [ @table_name = ] 'table_name'
    É o nome da tabela para a qual as informações de coluna devem ser retornadas. table_name é sysname, com um padrão de NULL.

  • [ @table_schema = ] 'table_schema'
    É o nome do esquema da tabela para o qual as informações de coluna devem ser retornadas. table_schema é sysname, com um padrão de NULL.

  • [ @table_catalog = ] 'table_catalog'
    É o nome do catálogo da tabela para o qual as informações de coluna devem ser retornadas. table_catalog é sysname, com um padrão de NULL.

  • [ @column_name = ] 'column'
    É o nome da coluna do banco de dados para a qual fornecer informações. column é sysname, com um padrão de NULL.

  • [ @ODBCVer = ] 'ODBCVer'
    É a versão do ODBC está sendo usada. ODBCVer é int, com um padrão de 2. Isto indica ODBC versão 2. Os valores válidos são 2 ou 3. Para obter informações sobre as diferenças de comportamento entre as versões 2 e 3, consulte a especificação de SQLColumns ODBC.

Valores de código de retorno

Nenhum

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

TABLE_CAT

sysname

Nome do qualificador da tabela ou exibição. Vários produtos DBMS oferecem suporte à nomeação de três partes de tabelas (qualifier.owner.name). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela. Este campo pode ser NULL.

TABLE_SCHEM

sysname

Nome do proprietário da tabela ou exibição. No SQL Server, esta coluna representa o nome do usuário de banco de dados que criou a tabela. Este campo sempre retorna um valor.

TABLE_NAME

sysname

Nome da tabela ou exibição. Este 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

Valor inteiro que corresponde aos indicadores de tipo ODBC. Se for um tipo de dados que não pode ser mapeado para um tipo ODBC, este valor será NULL. O nome do tipo de dados nativo é retornado na coluna TYPE_NAME.

TYPE_NAME

varchar(13)

Cadeia de caracteres que representa um tipo de dados. O DBMS subjacente apresenta este nome de tipo de dados.

COLUMN_SIZE

int

Número de dígitos significativos. O valor de retorno da coluna PRECISION está em base 10.

BUFFER_LENGTH

int

Tamanho da transferência dos dados.1

DECIMAL_DIGITS

smallint

Número de dígitos à direita da vírgula decimal.

NUM_PREC_RADIX

smallint

É a 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

varchar(254)

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, esta coluna retorna NULL.

ORDINAL_POSITION

int

Posição ordinal da coluna na tabela. A primeira coluna na tabela é 1. Esta coluna sempre retorna um valor.

IS_NULLABLE

varchar(254)

Possibilidade de nulidade da coluna na tabela. As regras ISO são seguidas para determinar a possibilidade de 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 a documentação do Microsoft ODBC.

Comentários

sp_columns_ex é executado consultando o conjunto de linhas COLUMNS da interface IDBSchemaRowset do provedor OLE DB correspondente a table_server. Os parâmetros table_name, table_schema, table_catalog e column são passados para essa interface a fim de restringir as linhas retornadas.

sp_columns_ex retorna um conjunto de resultados vazio se o provedor OLE DB do servidor vinculado especificado não oferecer suporte ao conjunto de linhas COLUMNS da interface IDBSchemaRowset.

Permissões

Exige a permissão SELECT no esquema.

Comentários

sp_columns_ex segue os requisitos para identificadores delimitados. Para obter mais informações, consulte Identificadores de banco de dados.

Exemplos

O exemplo a seguir retorna o tipo de dados da coluna JobTitle da tabela HumanResources.Employee no banco de dados AdventureWorks2012 do servidor vinculado Seattle1.

EXEC sp_columns_ex 'Seattle1', 
   'Employee', 
   'HumanResources', 
   'AdventureWorks2012', 
   'JobTitle';

Consulte também

Referência

sp_catalogs (Transact-SQL)

sp_foreignkeys (Transact-SQL)

sp_indexes (Transact-SQL)

sp_linkedservers (Transact-SQL)

sp_primarykeys (Transact-SQL)

sp_tables_ex (Transact-SQL)

sp_table_privileges (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)