首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这样的表及查询用存储过程怎么做

2012-01-22 
这样的表及查询用存储过程如何做功能:查询某时间段内销售信息人员级别有,销售总载-销售总监-区域经理-区域

这样的表及查询用存储过程如何做
功能:
查询某时间段内销售信息
人员级别有,销售总载-销售总监-区域经理-区域小组长-区域客户经理
要求不同人员进入查询界面后,只能查询包括自己权限以下的所有人员的销售信息
如销售总载能查询所有信息,销售总监能查询自己所管理的区域(销售总监管理多区域),区域经理只能查询自己所管理区域,小组长只能查询自己所管的小组,客户经理只能查自己.(其中,总监,小组长都有自己的客户,总载没有)

区域表:
AreaId AreaName
职务表:
DepWorkId DepWork
用户用如下:
userID AreaId(区域ID) DepWorkId(职务ID)

客户信息:
CardNo UserId

客户消费信息:
CardNo ProductId OpTime(消费时间)

产品信息:
ProductId Price

请问题这样要达到按人员进入页面后根据自己的权限 按区域/小组/客户经理进行查询客户经理的销售信息,这样的权限表如何建?
查询存储过程如何建?

我自己建了一个人员管理归属表:
UserId FatherId(上级管理人员ID)










[解决办法]

不需要建立
我自己建了一个人员管理归属表: 
UserId FatherId(上级管理人员ID) 

只要在职务表里面增加一个fatherId就可以了
[解决办法]
要求不同人员进入查询界面后,只能查询包括自己权限以下的所有人员的销售信息 

--

看看BOM

给一个例子

SQL code
--生成测试数据create table BOM(ID INT,PID INT,MSG VARCHAR(1000))insert into BOM select 1,0,NULLinsert into BOM select 2,1,NULLinsert into BOM select 3,1,NULLinsert into BOM select 4,2,NULLinsert into BOM select 5,3,NULLinsert into BOM select 6,5,NULLinsert into BOM select 7,6,NULLgo--创建用户定义函数用于取每个父节点下子节点的采购配置信息create function f_getChild(@ID VARCHAR(10))returns @t table(ID VARCHAR(10),PID VARCHAR(10),Level INT)asbegin    declare @i int    set @i = 1    insert into @t select ID,PID,@i from BOM where PID = @ID        while @@rowcount<>0    begin        set @i = @i + 1                insert into @t         select             a.ID,a.PID,@i         from             BOM a,@t b         where             a.PID=b.ID and b.Level = @i-1    end    returnendgo--执行查询select ID from dbo.f_getChild(3)go--输出结果/*ID----567*/--删除测试数据drop function f_getChilddrop table BOM 

热点排行