我需要在登录用户的基础上对报告实施行级限制。我可以执行相同的操作,但是现在我希望某些用户应具有访问完整数据的权限,这些权限是admin。
请帮助!
我尝试使用case语句,但未按预期运行。
declare @userid nvarchar(50);
set @userid='abc';
select * from data d
left join users u on d.userrole=u.userrole
where u.userid like
(case when u.userid=@userid
then @userid
else '%'
end)
简而言之,如果已登录的用户是用户表的一部分,那么他应该能够看到被授权访问的数据。但是,如果用户不是用户表的一部分,那么他应该能够看到完整的数据。