У меня есть основная таблица с именем Delivery
в моей базе данных SQL Server и 6 разных ролей, сохраненных в Active Directory.
Каждая роль должна видеть одну и ту же таблицу, но с разными значениями, и у человека может бытьнесколько ролей.
Я пытаюсь построить хранимую процедуру в SQL Server, которая возвращает таблицу по их ролям.
У меня есть разные функции, которые возвращают таблицу по роли пользователя, давайте вызовемих:
GetRole1Deliveries()
GetRole2Deliveries()
GetRole3Deliveries()
GetRole4Deliveries()
GetRole5Deliveries()
GetRole6Deliveries()
Я создал процедуру, которая получает логическое (битовое) значение для каждой роли в качестве параметра, и я хочу сделать что-то вроде этого:
CREATE PROCEDURE [dbo].[GetDeliveriesByRole] (@p_role1 bit,@p_role2 bit,@p_role3 bit,@p_role4 bit@p_role5 bit,@p_role6 bit)
AS
BEGIN
if @p_role1=1 select * from GetRole1Deliveries();
union
if @p_role2=1 select * from GetRole2Deliveries();
union
if @p_role3=1 select * from GetRole3Deliveries();
union
if @p_role4=1 select * from GetRole4Deliveries();
union
if @p_role5=1 select * from GetRole5Deliveries();
union
if @p_role6=1 select * from GetRole6Deliveries();
END
может кто угоднопомочь мне заставить его работать?