PROPRIEDADE COLUMNA (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Esta função devolve informação sobre colunas ou parâmetros.

Transact-SQL convenções de sintaxe

Sintaxe

COLUMNPROPERTY ( id , column , property )   

Arguments

ID
Uma expressão contendo o identificador (ID) da tabela ou procedimento.

coluna
Uma expressão contendo o nome da coluna ou parâmetro.

propriedade
Para o argumento id , o argumento de propriedade especifica o tipo de informação que a COLUMNPROPERTY função irá devolver. O argumento da propriedade pode ter qualquer um destes valores:

Valor Description Valor devolvido
AllowsNull Permite valores nulos. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
ColumnId Valor do ID da coluna correspondente a sys.columns.column_id. Identificador da Coluna

Nota: Ao consultar múltiplas colunas, podem aparecer lacunas na sequência dos valores do ID da coluna.
ColunaTipoDeTexto Completo A TYPE COLUNA na tabela que contém a informação do tipo de documento da coluna. O ID do texto TYPE completo COLUMN para a expressão do nome da coluna passava como o segundo parâmetro desta função.
GeneratedAlwaysType É gerado pelo sistema de valores de coluna. Corresponde a sys.columns.generated_always_type Aplica-se a: SQL Server 2016 (13.x) e posterior.

0: Não é sempre gerado

1: Gerado sempre no início da fila

2: Gerado sempre no final da linha
IsColumnSet Coluna é um conjunto de colunas. Para obter mais informações, consulte Utilize conjuntos de colunas. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsComputed Coluna é uma coluna calculada. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsCursorType O parâmetro do procedimento é do tipo CURSOR. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsDeterminista A coluna é determinística. Esta propriedade aplica-se apenas a colunas computadas e colunas de visualização. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida. Não é uma coluna calculada ou uma coluna de visualização.
IsFulltextIndexed A coluna está registada para indexação em texto completo. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsHidden É gerado pelo sistema de valores de coluna. Corresponde a sys.columns.is_hidden Aplica-se a: SQL Server 2016 (13.x) e posterior.

0: Não escondido

1: Oculto
IsIdentity A coluna utiliza a IDENTITY propriedade. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsIdNotForRepl Verificações de coluna para a IDENTITY_INSERT configuração. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsIndexable A coluna pode ser indexada. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsOutParam O parâmetro de procedimento é um parâmetro de saída. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsPrecise A coluna é precisa. Esta propriedade aplica-se apenas a colunas determinísticas. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida. Não uma coluna determinística
IsRowGuidCol A coluna tem o tipo de dado uniqueidentifier , e é definida com a propriedade ROWGUIDCOL. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsSparse Coluna é uma coluna esparsa. Para obter mais informações, consulte Usar colunas esparsas. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsSystemVerified O Motor de Base de Dados pode verificar o determinismo e as propriedades de precisão da coluna. Esta propriedade aplica-se apenas a colunas e colunas de vistas calculadas. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
IsXmlIndexable A coluna XML pode ser usada num índice XML. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.
Precision Tipo de dado, comprimento da coluna ou parâmetro. O comprimento do tipo de dados da coluna especificado

-1: xml ou tipos de grande valor

NULL: entrada inválida.
Escala Escala para o tipo de dados da coluna ou parâmetro. O valor da escala

NULL: entrada inválida.
Semântica estatística A coluna está ativada para indexação semântica. 1: VERDADEIRO

0: FALSO
SystemDataAccess A coluna deriva de uma função que acede a dados nos catálogos do sistema ou nas tabelas virtuais do SQL Server. Esta propriedade aplica-se apenas a colunas e colunas de vistas calculadas. 1: TRUE (Indica acesso apenas de leitura.)

0: FALSO

NULL: entrada inválida.
UserDataAccess A coluna deriva de uma função que acede a dados em tabelas de utilizador, incluindo vistas e tabelas temporárias, armazenadas na instância local do SQL Server. Esta propriedade aplica-se apenas a colunas e colunas de vistas calculadas. 1: TRUE (Indica acesso apenas de leitura.)

0: FALSO

NULL: entrada inválida.
UtilizaçõesAnsiTrim ANSI_PADDING foi ativado no momento da criação da mesa. Esta propriedade aplica-se apenas a colunas ou parâmetros do tipo char ou varchar. 1: VERDADEIRO

0: FALSO

NULL: entrada inválida.

Tipos de devolução

int

Exceptions

Retorna NULL em caso de erro, ou se um chamador não tiver permissão para visualizar o objeto.

Um usuário só pode visualizar os metadados de protegíveis que o usuário possui ou sobre os quais o usuário recebeu permissão. Isto significa que funções incorporadas que emitem metadados, como poderão COLUMNPROPERTY devolver NULL, se o utilizador não tiver a permissão correta sobre o objeto. Consulte Configuração de Visibilidade de Metadados para mais informações.

Observações

Ao verificar a propriedade determinística de uma coluna, teste primeiro se a coluna é uma coluna calculada. O argumento IsDeterministic devolve NULL para colunas não calculadas. Colunas calculadas podem ser especificadas como colunas de índice.

Examples

Este exemplo devolve o comprimento da LastName coluna.

USE AdventureWorks2022;  
GO  
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';  
GO  

Aqui está o conjunto de resultados.

Column Length
-------------
50