У меня есть следующий SP
PROCEDURE [dbo].[order_s]
(
@user Uniqueidentifier
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
id,
name,
[begin],
[end]
FROM
orders
WHERE
@user = dbo.hasAccess(@user,id,'select')
END
Этот SP называет это UDF
FUNCTION [dbo].[hasAccess]
(
@user uniqueidentifier,
@orderId bigint,
@AccessType nchar(10)
)
RETURNS uniqueidentifier
AS
BEGIN
DECLARE @Result uniqueidentifier
SELECT
Top 1 @Result = [user]
FROM
access
WHERE
orderId = @orderId AND
[user] = @user AND
role >= CASE
WHEN @AccessType = 'select' then 1
WHEN @AccessType = 'insert' then 5
WHEN @AccessType = 'update' then 7
WHEN @AccessType = 'delete' then 10
END
RETURN @Result
END
У меня такой вопрос: у вызова UDF из SP есть проблемы с производительностью?
Есть ли лучший способ добиться такой же функциональности?
Спасибо за ваш совет ...