Обсуждение в разд. «Хранимые процедуры и CLR» ранее В этом разделе также применимо и к UDF. С одной только разницей - вы должны использовать оператор create function (вместо create procedure) для сохранения UDF в качестве объекта базы данных. Кроме того, UDF применяется в контексте, отличном от использования хранимых процедур, потому что UDF всегда возвращают значение.
В примере 8.22 показана программа на С#, используемая для демонстрации того, как компилируются и устанавливаются UDF.
Исходная программа на С# в примере 8.22 показывает UDF, которая вычисляет новый бюджет проекта на основе старого бюджета и заданного процента увеличения. Описание программы С# опущено, потому что эта программа является аналогом программы в примере 8.10. В примере 8.23 показан оператор create assembly, который необходим, если вы собираетесь создавать объект базы данных.
Оператор create function в примере 8.24 сохраняет сборку computeBudget как объект базы данных. В дальнейшем он может быть использован в операторах манипулирования данными, такими как select, что показано в примере 8.25.
Результатом будет 3215.