а еще можно это сделать скалярной функцией. ведь для извлечения значения из вьюхи нужен селект.
а функцию можно передать в качестве аргумента или использовать в качестве операнда
Использовать значение из проекции в выражении можно без проблем. В MS SQL значения функции не передаются в качестве аргумента. Далеко не все СУБД поддерживают функции.
В итоге вариант с функцией менее универсален. Особенно это проявляется при отображении перечислимых типов (enumeration) на реляции с последующим использованием их в запросах. Например.
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
Комментарии
константы...
Пишет alex (не проверено),
а еще можно это сделать скалярной функцией. ведь для извлечения значения из вьюхи нужен селект.
а функцию можно передать в качестве аргумента или использовать в качестве операнда
Вариант с функцией
Пишет st,
Использовать значение из проекции в выражении можно без проблем. В MS SQL значения функции не передаются в качестве аргумента. Далеко не все СУБД поддерживают функции.
В итоге вариант с функцией менее универсален. Особенно это проявляется при отображении перечислимых типов (enumeration) на реляции с последующим использованием их в запросах. Например.
Преобразуется в 2 проекции