sp_columns_ex (Transact-SQL)

Aplica-se a: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 a coluna for especificada.

Convenções de sintaxe de 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 retornar informações de coluna. table_server é sysname, sem padrão.

[ @table_name = ] '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 = ] '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 = ] 'table_catalog' É o nome do catálogo da tabela para a qual retornar informações de coluna. table_catalog é sysname, com um padrão de NULL.

[ @column_name = ] 'column' É o nome da coluna de banco de dados para a qual fornecer informações. column é 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 de SQLColumns ODBC.

Valores do 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 dão suporte à nomenclatura de três partes para tabelas (qualificador.proprietário.name). Em SQL Server esta 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. Esse campo pode ser NULL.
TABLE_SCHEM sysname Nome do proprietário da tabela ou exibição. Em 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 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 retornado para a coluna PRECISION 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.
COMENTÁRIOS 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. Essa coluna é igual à coluna DATA_TYPE , exceto para os tipos de dados datetime e SQL-92 interval . Esta coluna sempre retorna um valor.
SQL_DATETIME_SUB smallint Código de subtipo para tipos de dados de intervalo datetime e 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 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 coluna NULLABLE .
SS_DATA_TYPE tinyint SQL Server tipo de dados, 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 coluna 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 oferecer suporte ao conjunto de linhas COLUMNS da interface IDBSchemaRowset .

  • sp_columns_ex segue os requisitos para identificadores delimitados. Para obter mais informações, consulte Database Identifiers.

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';  

Consulte Também

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)