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