Можно вызывать скалярнозначную функцию в вычисляемых столбцах. Однако аргументы при этом могут содержать только константы и другие столбцы таблицы.
Можно использовать вычисляемый столбец в предложении WHERE.
Предположим, что имеется пользовательская скалярная функция, которая вычисляет премию на основе зарплаты и комиссионных, которые получает сотрудник. Зарплата и комиссионные находятся в таблице Employees.
Можно использовать запрос для получения списка сотрудников, которые получили премию больше $1000.00 в следующем виде:
Select EmpId, Fname, Lname from Employees where dbo.BONUS(Salary,Comm) > 1000
Если вычисляемый столбец создается с помощью пользовательской функции, которая рассчитывает премию (BONUS)
CREATE TABLE [Employees]
(
[EmpId] [Char] (9) NOT NULL,
[Salary] [Decimal](10,2),
[Comm] [Decimal](10,2),
BONUS as dbo.BONUS(Salary,Comm)
)
то предыдущий запрос примет вид
Select EmpId, Fname, Lname from Employees where BONUS > 1000
СУБД для специальности СП, III курс
Лекция №8