sp_columns_ex (Transact-SQL)

Aplica-se: SQL Server

Retorna as informações da coluna, uma linha por coluna, para as tabelas especificadas do servidor vinculado. sp_columns_ex Retorna informações de coluna apenas para a coluna específica se @column_name for especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@table_server [ = ] N'table_server'

O nome do servidor vinculado para o qual retornar informações de coluna. @table_server é sysname, sem padrão.

[ @table_name = ] N'table_name'

O nome da tabela para a qual retornar informações de coluna. @table_name é sysname, com um padrão de NULL.

@table_schema [ = ] N'table_schema'

O nome do esquema da tabela para a qual retornar informações de coluna. @table_schema é sysname, com um padrão de NULL.

@table_catalog [ = ] N'table_catalog'

O nome do catálogo da tabela para a qual as informações da coluna serão retornadas. @table_catalog é sysname, com um padrão de NULL.

@column_name [ = ] N'column_name'

O nome da coluna do banco de dados para a qual fornecer informações. @column_name é sysname, com um padrão de NULL.

@ODBCVer [ = ] ODBCVer

A versão do ODBC que 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 ODBC SQLColumns .

Valores do código de retorno

Nenhum.

Conjunto 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 suportam nomenclatura de três partes para tabelas (<qualifier>.<owner>.<name>). No SQL Server, essa coluna representa o nome do banco de dados. Em alguns produtos, ele 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, essa coluna representa o nome do usuário do banco de dados que criou a tabela. Esse campo sempre retorna um valor.
TABLE_NAME sysname Nome da tabela ou exibição. Esse campo sempre retorna um valor.
COLUMN_NAME sysname Nome da coluna, para cada coluna do TABLE_NAME retornado. Esse campo sempre retorna um valor.
DATA_TYPE smallint Um valor int que corresponde aos indicadores do tipo ODBC. Se esse for um tipo de dados que não pode ser mapeado para um tipo ODBC, esse valor será NULL. O nome do tipo de dados nativo é retornado na TYPE_NAME coluna.
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 retornado para a PRECISION coluna está na 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) Este campo sempre retorna NULL.
COLUMN_DEF varchar(254) Valor padrão da coluna.
SQL_DATA_TYPE smallint Valor do tipo de dados SQL conforme ele aparece no TYPE campo do descritor. Essa coluna é igual à DATA_TYPE coluna, exceto para os tipos de dados datetime e intervalo 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, essa 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 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 compatível com ISO SQL não pode retornar uma cadeia de caracteres vazia.

YES = A coluna pode incluir NULL.
NO = A coluna não pode incluir NULL.

Esta coluna retorna uma cadeia de caracteres de comprimento zero se a possibilidade de nulidade for desconhecida.

O valor retornado para essa coluna é diferente do valor retornado para a NULLABLE coluna.
SS_DATA_TYPE tinyint Tipo de dados SQL Server, usado por procedimentos armazenados estendidos.

Para obter mais informações, consulte Visão geral do ODBC.

Comentários

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

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

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

Permissões

Requer a permissão SELECT no esquema.

Exemplos

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

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