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.
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_linkedservers (Transact-SQL)