数据库查询处理语句

一、              查询三个月未登陆系统的人员的语句   

select lastname,lastlogindate from hrmresource where lastlogindate not between CONVERT(varchar(100), GETDATE()-90, 23) and CONVERT(varchar(100), GETDATE(), 23) 

二、              通过流程ID,查询当前未操作者及当前节点 

当前节点: 

select currentnodeid from workflow_requestbase where requestid = ? 

当前未操作者:  

select userid from workflow_currentoperator where requestid = ?  and isremark = '0'

三、              将2009年12月31日之前创建的、未归档的流程全部列出来,并作归档处理  

update workflow_currentoperator set iscomplete=1 where requestid in (select requestid from workflow_requestbase where createdate<='2009-12-31') /  update workflow_currentoperator set iscomplete=1, isremark='2' where isremark='0' and requestid in (select requestid from workflow_requestbase where createdate<='2009-12-31') /  update workflow_requestbase set currentnodetype='3', currentnodeid=(select nodetype from workflow_flownode where workflow_requestbase.workflowid=workflow_flownode.workflowid and workflow_flownode.nodetype='3') where  createdate<='2009-12-31' /

四、              系统人员的所在分部ID和信息  --查询登录用户所在分部信息,以登录用户名为查询条件   

select hrc.* from HrmResource hr,HrmSubcompany hrc where hr.subcompanyid1=hrc.id and loginid='登录用户名'  --查询登录用户所在分部id,以登录用户名为查询条件  select hrc.id from HrmResource hr,HrmSubcompany hrc where hr.subcompanyid1=hrc.id and loginid='登录用户名' 

五、              查询人员的所有的角色与角色级别  

--(1)人力资源表,以登录名为查询条件 ,取id作为(2)的条件@id  select * from HrmResource where loginid='登录用户名' 

--(2)以人力资源@id为查询条件   select hrm.*,hr.rolesname from HrmRoleMembers hrm,HrmRoles hr where hrm.roleid=hr.id and resourceid=@id ---roleid:为角色ID   ---rolelevel:角色级别  0=部门 ,1=分部 ,2=总部 ---rolesname:角色名称

六、              把某几个目录下面的文档全都共享给某一个人 

--(1)获得需要修改的主目录id号,以主目录名称为条件select id as maincateid,categoryname from DocMainCategory where categoryname='主目录名称' 

--(2)获得需要修改的分目录id号,以(1)中获得的maincateid为条件@maincateid  select id as subcateid,categoryname from DocSubCategory     where maincategoryid=@maincateid  

--(3)获得需要修改的子目录id号,以(2)中获得的subcateid为条件@subcateid,并且以子目录名称为条件  select id as docid,categoryname from DocSecCategory where subcategoryid=@subcateid and categoryname='子目录名称'   

--(4)以登录名为条件,获得需要获得文档权限的用户的userid select t.id as userid from HrmResource t where t.loginid='liur'  

--(5)将某个目录下面的以前的所有文档的查看权限赋予某个系统用户, 

-----以(3)获得的docid为条件@docid,替换下面语句中的@docid, 

-----以(4)获得的userid替换下面语句中的@userid, 

-----执行下面两个insert语句。    

--注:(1)下面的insert语句执行一次就可以了。  

------(2)默认的安全级别SECLEVEL为1,若不是可以手动调整。 

------(3)sharelevel:共享级别,1=查看,2=编辑,3完全控制。 

------(4)需要替换以下语句中的参数@userid,@docid。   

--docshare:权限表  

INSERT INTO docshare(DOCID,SHARETYPE,SECLEVEL,ROLELEVEL,SHARELEVEL,USERID,SUBCOMPANYID,DEPARTMENTID,ROLEID,FORALLUSER,CRMID,SHARESOURCE,ISSECDEFAULTSHARE,ORGGROUPID,DOWNLOADLEVEL)  

select id,1,1,0,1,@userid,0,0,0,0,0,NULL,'1',0,NULL         

from docdetail         

where seccategory=@docid      

-- shareinnerdoc:权限明细表  

INSERT INTO shareinnerdoc(SOURCEID,TYPE,CONTENT,SECLEVEL,SHARELEVEL,SRCFROM,OPUSER,SHARESOURCE,DOWNLOADLEVEL)  

select id,1,@userid,1,1,1,0,0,NULL        

from docdetail         

where seccategory=@docid


关键词: SQL

网友评论

发表评论