Константы в SQL

Красиво.

CREATE VIEW constant (pi, e, phi)
AS SELECT 3.141592653, 2.718281828, 1.618033988

Комментарии

константы...

а еще можно это сделать скалярной функцией. ведь для извлечения значения из вьюхи нужен селект.
а функцию можно передать в качестве аргумента или использовать в качестве операнда

Изображение пользователя Serguei_Tarassov.

Вариант с функцией

Использовать значение из проекции в выражении можно без проблем. В MS SQL значения функции не передаются в качестве аргумента. Далеко не все СУБД поддерживают функции.

В итоге вариант с функцией менее универсален. Особенно это проявляется при отображении перечислимых типов (enumeration) на реляции с последующим использованием их в запросах. Например.

public enum CalculationRule
{
    Unknown = 0,
    TurnoverWithFixedQuantity = 1,
    QuantityWithFixedTurnover = 2
}

Преобразуется в 2 проекции

CREATE VIEW CalculationRule(Unknown, TurnoverWithFixedQuantity, QuantityWithFixedTurnover)
AS SELECT 0, 1, 2;
GO
 
CREATE VIEW CalculationRuleValues
AS SELECT 'Unknown' AS name, 0 AS value
UNION
SELECT 'TurnoverWithFixedQuantity' AS name, 1 AS value
UNION
SELECT 'QuantityWithFixedTurnover' AS name, 2 AS value
GO