sp_columns (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
Retorna as informações de colunas dos objetos especificados que podem ser consultados no ambiente atual.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_columns [ @table_name = ] object
[ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
Argumentos
[ @table_name = ] object
é o nome do objeto usado para retornar informações do catálogo. O object pode ser uma tabela, exibição ou outro objeto que tem colunas como funções com valor de tabela. object é nvarchar(384), sem padrão. Há suporte para a correspondência do padrão curinga.
[ @table_owner = ] owner
é o proprietário do objeto usado para retornar informações do catálogo. owner é nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de objeto padrão do DBMS subjacente.
Se o usuário atual possuir um objeto com o nome especificado, as colunas desse objeto serão retornadas. Se owner não for especificado e o usuário atual não possuir um objeto com o owner especificado, sp_columns procurará um objeto com o object especificado que seja do proprietário do banco de dados. Se existir, as colunas desse objeto serão retornadas.
[ @table_qualifier = ] qualifier
é o nome do qualificador do objeto. qualifier é sysname, com um padrão de NULL. Vários produtos de DBMS dão suporte à nomeação de três partes de objetos (qualifier.owner.name). No SQL Server, essa coluna representa o nome do banco de dados. Em alguns produtos, ela representa o nome do servidor do ambiente de banco de dados do objeto.
[ @column_name = ] column
é uma única coluna, usada quando apenas uma coluna de informações de catálogo é desejada. column é nvarchar(384), com um padrão de NULL. Se column não for especificado, todas as colunas serão retornadas. No SQL Server, column representa o nome de coluna como listado na tabela sys.columns. Há suporte para a correspondência do padrão curinga. Para interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão SQL-92 (os caracteres curinga % e _).
[ @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 as diferenças de comportamento entre as versões 2 e 3, confira a especificação SQLColumns do ODBC.
Valores do código de retorno
Nenhum
Conjuntos de resultados
O procedimento armazenado de catálogo sp_columns é equivalente a SQLColumns no ODBC. Os resultados retornados são ordenados por TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
TABLE_QUALIFIER | sysname | Nome do qualificador do objeto. Esse campo pode ser NULL. |
TABLE_OWNER | sysname | Nome do proprietário do objeto. Esse campo sempre retorna um valor. |
TABLE_NAME | sysname | Nome do objeto. Esse campo sempre retorna um valor. |
COLUMN_NAME | sysname | Nome de cada coluna do TABLE_NAME retornado. Esse campo sempre retorna um valor. |
DATA_TYPE | smallint | Código inteiro para o tipo de dados do ODBC. Se este for um tipo de dados que não pode ser mapeado para um tipo do ODBC, ele será NULL. O nome do tipo de dados nativo é retornado na coluna TYPE_NAME. |
TYPE_NAME | sysname | Cadeia de caracteres que representa um tipo de dados. O DBMS subjacente apresenta este nome de tipo de dados. |
PRECISION | int | Número de dígitos significativos. O valor retornado da coluna PRECISION está na base 10. |
COMPRIMENTO | int | Tamanho da 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 possibilidade de nulidade: 1 = NULL é possível. 0 = NOT NULL. |
COMENTÁRIOS | varchar(254) | Esse campo sempre retorna NULL. |
COLUMN_DEF | nvarchar(4000) | 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 no objeto. A primeira coluna no objeto é 1. Esta coluna sempre retorna um valor. |
IS_NULLABLE | varchar(254) | A nulidade da coluna no objeto. 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 esta coluna é diferente do valor retornado para a coluna NULLABLE. |
SS_DATA_TYPE | tinyint | Tipo de dados do SQL Server usados por procedimentos armazenados estendidos. Para obter mais informações, consulte Tipos de dados (Transact-SQL). |
1 Para obter mais informações, consulte a documentação do Microsoft ODBC.
Permissões
Requer permissões SELECT e VIEW DEFINITION no esquema.
Comentários
sp_columns segue os requisitos para identificadores delimitados. Para obter mais informações, consulte Database Identifiers.
Exemplos
O exemplo a seguir retorna informações de coluna para uma tabela especificada.
USE AdventureWorks2022;
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
O exemplo a seguir retorna informações de coluna para uma tabela especificada.
-- Uses AdventureWorks
EXEC sp_columns @table_name = N'DimEmployee',
@table_owner = N'dbo';
Consulte Também
sp_tables (Transact-SQL)
procedimentos armazenados do catálogo (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de