In SQL Server kunt u T-SQL gebruiken om de definitie voor een berekende kolom te krijgen door de sys.computed_columns
op te vragen. systeemcatalogusweergave.
Voorbeeld 1 – Retourneer één berekende kolom
Hier is een voorbeeld dat ik in mijn testomgeving heb uitgevoerd. In dit geval heb ik de resultaten teruggebracht tot slechts één berekende kolom.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Resultaat:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
Als u meerdere berekende kolommen met dezelfde naam heeft, kunt u de tabelnaam ook toevoegen aan de WHERE
clausule:
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Voorbeeld 2 – Alle berekende kolommen retourneren
In dit voorbeeld geef ik alle berekende kolommen terug, samen met hun definitie.
SELECT OBJECT_NAME(object_id) AS [Table], name AS [Computed Column], definition FROM sys.computed_columns;
Resultaat:
+----------+-------------------+--------------------------------------+ | Table | Computed Column | definition | |----------+-------------------+--------------------------------------| | Person | FullName | (concat([FirstName],' ',[LastName])) | | Products | TotalValue | ([Quantity]*[Price]) | +----------+-------------------+--------------------------------------+
Voorbeeld 3 – Voeg het schema toe
In dit voorbeeld doe ik mee met sys.objects
om het schema in de resultaten op te nemen.
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;
Resultaat:
+----------+----------+-------------------+--------------------------------------+ | Schema | Table | Computed Column | definition | |----------+----------+-------------------+--------------------------------------| | dbo | Person | FullName | (concat([FirstName],' ',[LastName])) | | dbo | Products | TotalValue | ([Quantity]*[Price]) | +----------+----------+-------------------+--------------------------------------+