У меня есть требование ограничить доступ к строкам, принадлежащим RegionID
1. Не знаете, как создать функцию предиката, чтобы удовлетворить это условие в функции предиката? Я даже пробовал жестко кодировать 0 и 1 в качестве операторов возврата, но он все равно возвращает все, никакой фильтрации.
Что я могу делать не так?
Тот, что ниже, даже не скомпилируется. Я также попробовал оператор Case, он компилируется, но возвращает все без фильтрации.
CREATE FUNCTION RLS.fn_RegionLimit(@RegionID int)
RETURNS table
with schemabinding
AS
IF @RegionID=1
RETURN 1
ELSE
RETURN 2
create security policy rls.PatientsSecurityPolicy
ADD Filter PREDICATE RLS.fn_RegionLimit(RegionID) on dbo.TestOrder
WITH (STATE=ON)
Select * from dbo.TestOrder