Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Devolve informação de coluna para os objetos especificados que podem ser consultados no ambiente atual.
Transact-SQL convenções de sintaxe
Sintaxe
sp_columns
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
@table_name é nvarchar(384), sem padrão.
O nome do objeto que é usado para devolver informações do catálogo. @table_name pode ser uma tabela, vista ou outro objeto com colunas, como funções com valores de tabela. @table_name é nvarchar(384), sem padrão. É suportada a correspondência de padrões wildcard.
[ @table_owner = ] N'table_owner'
O proprietário do objeto que é usado para devolver informação do catálogo.
@table_owner é nvarchar(384), com um padrão de NULL. É suportada a correspondência de padrões wildcard. Se @table_owner não for especificado, aplicam-se as regras padrão de visibilidade de objetos do SGBD subjacente.
Se o utilizador atual possuir um objeto com o nome especificado, as colunas desse objeto são devolvidas. Se @table_owner não for especificado e o utilizador atual não possuir um objeto com a @table_name especificada, sp_columns procura um objeto com a @table_name especificada pertencente ao dono da base de dados. Se existir uma, as colunas desse objeto são devolvidas.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier é sysname, com um padrão de NULL.
O nome do qualificador do objeto.
@table_qualifier é sysname, com um padrão de NULL. Vários produtos SGBD suportam nomeação em três partes para objetos (<qualifier>.<owner>.<name>). No SQL Server, esta coluna representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados do objeto.
[ @column_name = ] N'column_name'
Uma única coluna e é usada quando apenas uma coluna de informação do catálogo é necessária.
@column_name é nvarchar(384), com um padrão de NULL. Se @column_name não for especificado, todas as colunas são devolvidas. No SQL Server, @column_name representa o nome da coluna conforme listado na syscolumns tabela. É suportada a correspondência de padrões wildcard. Para máxima interoperabilidade, o cliente gateway deve assumir apenas correspondência padrão SQL-92 (os % caracteres coringa e _ coringa).
[ @ODBCVer = ] ODBCVer
A versão do ODBC que está a ser utilizada.
@ODBCVer é int, com um padrão de 2. Isto indica a Versão 2 do ODBC. Os valores válidos são 2 ou 3. Para as diferenças de comportamento entre as versões 2 e 3, consulte a especificação ODBC SQLColumns .
Valores de código de retorno
Nenhum.
Conjunto de resultados
O sp_columns procedimento armazenado por catálogo é equivalente ao SQLColumns ODBC. Os resultados devolvidos estão ordenados por TABLE_QUALIFIER, TABLE_OWNER, e TABLE_NAME.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nome do qualificador do objeto. Este campo pode ser NULL. |
TABLE_OWNER |
sysname | Nome do proprietário do objeto. Este campo devolve sempre um valor. |
TABLE_NAME |
sysname | Nome do objeto. Este campo devolve sempre um valor. |
COLUMN_NAME |
sysname | Nome da coluna, para cada coluna do TABLE_NAME devolvido. Este campo devolve sempre um valor. |
DATA_TYPE |
smallint | Código inteiro para o tipo de dado ODBC. Se este tipo de dados não puder ser mapeado para um tipo ODBC, é NULL. O nome do tipo de dado nativo é devolvido na TYPE_NAME coluna. |
TYPE_NAME |
sysname | Cadeia que representa um tipo de dado. O SGBD subjacente apresenta este nome de tipo de dado. |
PRECISION |
int | Número de dígitos significativos. O valor de retorno da PRECISION coluna está na base 10. |
LENGTH |
int | Tamanho de transferência dos dados. 1 |
SCALE |
smallint | Número de dígitos à direita da vírgula decimal. |
RADIX |
smallint | Base para tipos de dados numéricos. |
NULLABLE |
smallint | Especifica a nulidade.1
=
NULL é possível.0 = NÃO NULL. |
REMARKS |
Varchar (254) | Este campo devolve NULLsempre . |
COLUMN_DEF |
Nvarchar(4000) | Valor padrão da coluna. |
SQL_DATA_TYPE |
smallint | Valor do tipo de dado SQL tal como aparece no campo TYPE do descritor. Esta coluna é igual à DATA_TYPE coluna, exceto pelos tipos de dados data-hora e intervalo SQL-92. Esta coluna devolve sempre um valor. |
SQL_DATETIME_SUB |
smallint | Código de subtipo para tipos de dados data-hora e intervalo SQL-92. Para outros tipos de dados, esta coluna devolve NULL. |
CHAR_OCTET_LENGTH |
int | Comprimento máximo em bytes de uma coluna de tipo de dado de carácter ou inteiro. Para todos os outros tipos de dados, esta coluna devolve NULL. |
ORDINAL_POSITION |
int | Posição ordinal da coluna no objeto. A primeira coluna do objeto é 1. Esta coluna devolve sempre um valor. |
IS_NULLABLE |
Varchar (254) | Nulidade da coluna no objeto. As regras ISO são seguidas para determinar a nulidade. Um SGBD compatível com ISO SQL não pode devolver uma string vazia.YES = Coluna pode incluir NULL.NO = A coluna não pode incluir NULL.Esta coluna devolve uma cadeia de comprimento zero se a nulidade for desconhecida. O valor devolvido para esta coluna é diferente do valor devolvido para a NULLABLE coluna. |
SS_DATA_TYPE |
tinyint | Tipo de dado SQL Server utilizado por procedimentos armazenados estendidos. Para obter mais informações, consulte Tipos de dados. |
1 Para mais informações, consulte Visão Geral ODBC.
Permissions
Requisitos SELECT e VIEW DEFINITION permissões no esquema.
Observações
sp_columns segue os requisitos para identificadores delimitados. Para obter mais informações, consulte Identificadores de banco de dados.
Examples
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.
O exemplo seguinte devolve informação de coluna para uma tabela especificada.
USE AdventureWorks2022;
GO
EXECUTE sp_columns
@table_name = N'Department',
@table_owner = N'HumanResources';
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
O exemplo seguinte devolve informação de coluna para uma tabela especificada.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';