COLUMNPROPERTY (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Essa função retorna informações de coluna ou parâmetro.
Convenções de sintaxe de Transact-SQL
Sintaxe
COLUMNPROPERTY ( id , column , property )
Argumentos
id
Uma expressão que contém o identificador (ID) da tabela ou procedimento.
column
Uma expressão que contém o nome da coluna ou parâmetro.
property
Para o argumento id, o argumento propriedade especifica o tipo de informação que a função COLUMNPROPERTY
retornará. O argumento property pode ter qualquer um destes valores:
Valor | Descrição | Valor retornado |
---|---|---|
AllowsNull | Permite valores nulos. | 1: TRUE 0: FALSE NULL = entrada inválida. |
ColumnId | Valor de ID da coluna que corresponde a sys.columns.column_id. | ID da coluna Observação: ao consultar várias colunas, podem aparecer intervalos na sequência de valores de ID da coluna. |
FullTextTypeColumn | A TYPE COLUMN na tabela contendo as informações de tipo de documento da coluna. | ID de TYPE COLUMN de texto completo da expressão de nome de coluna passada como segundo parâmetro dessa função. |
GeneratedAlwaysType | O valor da coluna é gerado pelo sistema. Corresponde a sys.columns.generated_always_type | Aplica-se a: SQL Server 2016 (13.x) e posterior. 0: não é gerado sempre 1: gerado sempre no início da linha 2: gerado sempre no fim da linha |
IsColumnSet | A coluna é um conjunto de colunas. Para obter mais informações, veja Usar conjuntos de colunas. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsComputed | É uma coluna computada. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsCursorType | O parâmetro de procedimento é do tipo CURSOR. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsDeterministic | A coluna é determinística. Essa propriedade só se aplica a colunas computadas e colunas de exibição. | 1: TRUE 0: FALSE NULL = entrada inválida. Não é uma coluna computada nem uma coluna de exibição. |
IsFulltextIndexed | A coluna está registrada para indexação de texto completo. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsHidden | O valor da coluna é gerado pelo sistema. Corresponde a sys.columns.is_hidden | Aplica-se a: SQL Server 2016 (13.x) e posterior. 0: não oculto 1: oculto |
IsIdentity | A coluna usa a propriedade IDENTITY. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsIdNotForRepl | A coluna verifica a configuração de IDENTITY_INSERT. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsIndexable | A coluna pode ser indexada. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsOutParam | O parâmetro do procedimento é um parâmetro de saída. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsPrecise | A coluna é precisa. Essa propriedade só se aplica a colunas determinísticas. | 1: TRUE 0: FALSE NULL = entrada inválida. Não é uma coluna determinística |
IsRowGuidCol | A coluna tem o tipo de dados uniqueidentifier e está definida com a propriedade ROWGUIDCOL. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsSparse | A coluna é esparsa. Para obter mais informações, veja Usar colunas esparsas. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsSystemVerified | O Mecanismo de Banco de Dados pode verificar as propriedades de determinismo e precisão da coluna. Essa propriedade só se aplica a colunas computadas e colunas de exibições. | 1: TRUE 0: FALSE NULL = entrada inválida. |
IsXmlIndexable | A coluna XML pode ser usada em um índice XML. | 1: TRUE 0: FALSE NULL = entrada inválida. |
Precisão | Comprimento do tipo de dados da coluna ou parâmetro. | Comprimento do tipo de dados de coluna especificado -1: xml ou tipos de valor grande NULL = entrada inválida. |
Escala | Escala para o tipo de dados de parâmetro ou coluna. | O valor de escala NULL = entrada inválida. |
StatisticalSemantics | A coluna está habilitada para indexação semântica. | 1: TRUE 0: FALSE |
SystemDataAccess | A coluna é derivada de uma função que acessa dados nos catálogos do sistema ou tabelas do sistema virtuais do SQL Server. Essa propriedade só se aplica a colunas computadas e colunas de exibições. | 1 = TRUE (indica acesso somente leitura.) 0: FALSE NULL = entrada inválida. |
UserDataAccess | A coluna é derivada de uma função que acessa dados em tabelas de usuário, incluindo exibições e tabelas temporárias, armazenadas na instância local do SQL Server. Essa propriedade só se aplica a colunas computadas e colunas de exibições. | 1 = TRUE (indica acesso somente leitura.) 0: FALSE NULL = entrada inválida. |
UsesAnsiTrim | ANSI_PADDING foi definido como ON no momento da criação da tabela. Essa propriedade aplica-se apenas a colunas ou parâmetros do tipo char ou varchar. | 1: TRUE 0: FALSE NULL = entrada inválida. |
Tipos de retorno
int
Exceções
Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.
Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão. Isso significa que as funções internas que emitem metadados, como COLUMNPROPERTY
, poderão retornar NULL se o usuário não tiver a permissão correta para o objeto. Veja Configuração de Visibilidade de Metadados para obter mais informações.
Comentários
Ao verificar a propriedade determinística de uma coluna, teste primeiro se a coluna é uma coluna computada. O argumento IsDeterministic retorna NULL para colunas não computadas. Colunas computadas podem ser especificadas como colunas de índice.
Exemplos
Este exemplo retorna o comprimento da coluna LastName
.
USE AdventureWorks2022;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';
GO
Veja a seguir o conjunto de resultados.
Column Length
-------------
50
Confira também
funções de metadados (Transact-SQL)
TYPEPROPERTY (Transact-SQL)