В нашем случае у нас есть некоторая бизнес-логика, которая просматривает несколько таблиц в определенном порядке, так что используется первое ненулевое значение из одной таблицы.Хотя поиск не сложен, но для его выполнения требуется несколько строк кода SQL.Я читал о скалярных функциях в SQL Server, но не знаю, затрагивает ли меня проблема повторной компиляции, чтобы сделать это менее удобным способом.
Так каково общее эмпирическое правило?
Вы бы предпочли что-то вроде
select id, udfGetFirstNonNull(id), from mytable
Или табличные функции лучше скалярных?
select id,
(select firstNonNull from udfGetFirstNonNull(id)) as firstNonNull
from myTable