SQL只能提取当前网点的数据方法

 1 ALTER function [dbo].[Fun_IsExitPermissions]
 2 (
 3     @LoginUserAccount varchar(30),--登录账号
 4     @CauseName varchar(100),
 5     @AreaName varchar(100),
 6     @WebName varchar(100),
 7     @LoginCauseName varchar(30),--登录事业部
 8     @LoginAreaName varchar(30),--登录大区
 9     @LoginWebName varchar(30),--登录网点
10     @CauseNameAll int,   --查询所有事业部
11     @AreaNameAll int,   --查询所有大区
12     @WebNameAll int   --查询所有网点
13 ) 
14 
15 returns @temp table(errorcode int,errormsg nvarchar(20))  
16 AS
17 BEGIN
18     if (@CauseName=@LoginCauseName and @AreaName=@LoginAreaName and @WebName=@LoginWebName)
19     begin
20         insert @temp values(1,'ok') 
21         return
22     end
23     declare @WebRight varchar(10)  --网点权限
24     declare @DepartName varchar(50) --部门
25     select @WebRight=ISNULL(UserRight,'0'),@DepartName=DepartName from sysUserInfo where UserAccount=@LoginUserAccount 
26     if @WebRight='0'
27     begin
28         select @WebRight=ISNULL(DepRight,'0') from basDepart where DepName=@DepartName
29     end
30     
31     if(@WebRight='0')  --只能查询当前网点的数据
32     begin 
33         insert @temp values(0,'只能查询当前网点的数据')
34         return
35     end
36     else if(@WebRight='3')  --可查询所有网点
37     begin
38         if (@CauseName<>@LoginCauseName or @AreaName<>@LoginAreaName)
39         begin
40             insert @temp values(0,'只能查询当前大区的数据')
41             return
42         end
43     end
44     else if(@WebRight='2')  --可查询所有大区
45     begin
46         if (@CauseName<>@LoginCauseName)
47         begin
48             insert @temp values(0,'只能查询当前事业部的数据')
49             return
50         end
51     end
52     insert @temp values(1,'ok')   
53     return
54 END
55 GO

猜你喜欢

转载自www.cnblogs.com/JvYouQing/p/10290699.html