В большинстве систем будет доступна пользовательская функция (UDF). Некоторые не будут. я хочу использовать UDF, если она есть:SQL Server: Как вызвать UDF, если он доступен?
SELECT
Users.*,
dbo.UserGroupMembershipNames(Users.UserID) AS MemberOfGroupNames
FROM Users
В противном случае возврат к приемлемой альтернативы
SELECT
Users.*,
(SELECT TOP 1 thing FROM Something
WHERE Something.ID = Users.UserID) AS MemberGroupNames
FROM Users
Как сделать?
Моя первая попытка, используя очевидное решение, конечно, не удалось:
SELECT
Users.*,
CASE
WHEN (OBJECT_ID('dbo.UserGroupMembershipNames') IS NOT NULL) THEN
dbo.UserGroupMembershipNames(Users.UserID)
ELSE (SELECT TOP 1 thing FROM Something
WHERE Something.ID = Users.UserID)
END AS MemberOfGroupNames
FROM Users
по причинам, не мне
.... но может быть только один. Кейд с более низким GearScore получает его. –