No SQL Server, você pode usar o T-SQL para obter a definição de uma coluna computada consultando o
sys.computed_columns
visualização do catálogo do sistema. Exemplo 1 – Retornar uma coluna computada
Aqui está um exemplo que eu executei no meu ambiente de teste. Nesse caso, reduzi os resultados a apenas uma coluna computada.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Resultado:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
Caso você tenha várias colunas computadas com o mesmo nome, você também pode adicionar o nome da tabela ao
WHERE
cláusula:SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Exemplo 2 – Retornar todas as colunas computadas
Neste exemplo eu retorno todas as colunas computadas, junto com sua definição.
SELECT OBJECT_NAME(object_id) AS [Table], name AS [Computed Column], definition FROM sys.computed_columns;
Resultado:
+----------+-------------------+--------------------------------------+ | Table | Computed Column | definition | |----------+-------------------+--------------------------------------| | Person | FullName | (concat([FirstName],' ',[LastName])) | | Products | TotalValue | ([Quantity]*[Price]) | +----------+-------------------+--------------------------------------+
Exemplo 3 – Incluir o esquema
Neste exemplo eu junto com
sys.objects
para incluir o esquema nos resultados. SELECT SCHEMA_NAME(o.schema_id) AS [Schema], OBJECT_NAME(cc.object_id) AS [Table], cc.name AS [Computed Column], cc.definition FROM sys.computed_columns cc INNER JOIN sys.objects o ON o.object_id = cc.object_id;
Resultado:
+----------+----------+-------------------+--------------------------------------+ | Schema | Table | Computed Column | definition | |----------+----------+-------------------+--------------------------------------| | dbo | Person | FullName | (concat([FirstName],' ',[LastName])) | | dbo | Products | TotalValue | ([Quantity]*[Price]) | +----------+----------+-------------------+--------------------------------------+