关于 SQL 触发器的一些小问题

Cs_Eric_Hew 2017-11-09 07:57:46
目前有如下表单
职员表 A 职位表 B 采购申请表C 采购表D
采购申请表 就是一个审批流程 里面 有 采购申请编号 申请人 然后 后面是审批人1 审批人2 审批人3 '\,审批状态 时间

后面2个是固定职位,第一个是部门主管
我想当申请人是 xxx部门 审批人1自动更新成 部门主管 而且3个审批人 通过 状态才能变成 1
这个应该怎么写 小弟 刚接触SQL 不是很久
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cs_Eric_Hew 2017-11-10
  • 打赏
  • 举报
回复
引用 2 楼 sinat_28984567 的回复:
状态可以不是1,可以是1、2、3 每个数代表1、代表第一个人审核过了,2代表前两个人审核过了,3、代表都审核过了
这个我大概理解 !现在遇到就是关于审批人的事情,如何才能根据申请人 自动跳出部门主管~!
Cs_Eric_Hew 2017-11-10
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
这个在程序中实现比较合适。 PS:建议增加一张 审批流程表,每一行是一个审批人。
一行能否实现,就是每个审批人后面都有一个审批状态 只有当所有状态都为1的时候 这个表才通过!
二月十六 2017-11-10
  • 打赏
  • 举报
回复
状态可以不是1,可以是1、2、3 每个数代表1、代表第一个人审核过了,2代表前两个人审核过了,3、代表都审核过了
RINK_1 2017-11-10
  • 打赏
  • 举报
回复
引用 6 楼 jscshe 的回复:
[quote=引用 5 楼 RINK_1 的回复:] 为什么要用触发器。 如果你们是不允许他人代为进行采购申请的,那在程序中新增一次采购申请时,该申请的提交用户就必然是当前用户,那程序就能根据当前用户的所属部门去联动匹配查找该部门的主管用户,然后把获取的主管用户填写在“审批人1”中即可。而且该“审批人1”数据应该是不允许手动编辑修改的。
业务流程就是这样的! 我只是想了解一下 如何在SQL 中匹配 审核人![/quote] 你这个一次申请需要多方批复的流程机制没有问题,只是将对应部门的主管用户体现在“审核人1”中的处理,不一定非得通过触发器去完成。 当程序获取当前申请用户的id后(甚至能直接就获取到部门的id),将这个id作为参数传入sql中去匹配查找对应部门主管用户,然后把获取到的主管用户填充到“审核人1”中就可以了。申请提交时,把主管用户作为“审核人1”数据一起进行保存就可以了。 如果是触发器,那只能申请保存后再刷新一次页面才能看见“审核人1”,个人感觉用户体验值得商榷。相对应的,则是保存之前就能确认“审核人1”是不是期望的主管用户,错了能及时去部门主管定义功能中进行调整。
卖水果的net 2017-11-10
  • 打赏
  • 举报
回复
这个在程序中实现比较合适。 PS:建议增加一张 审批流程表,每一行是一个审批人。
Cs_Eric_Hew 2017-11-10
  • 打赏
  • 举报
回复
引用 5 楼 RINK_1 的回复:
为什么要用触发器。 如果你们是不允许他人代为进行采购申请的,那在程序中新增一次采购申请时,该申请的提交用户就必然是当前用户,那程序就能根据当前用户的所属部门去联动匹配查找该部门的主管用户,然后把获取的主管用户填写在“审批人1”中即可。而且该“审批人1”数据应该是不允许手动编辑修改的。
业务流程就是这样的! 我只是想了解一下 如何在SQL 中匹配 审核人!
RINK_1 2017-11-10
  • 打赏
  • 举报
回复
为什么要用触发器。 如果你们是不允许他人代为进行采购申请的,那在程序中新增一次采购申请时,该申请的提交用户就必然是当前用户,那程序就能根据当前用户的所属部门去联动匹配查找该部门的主管用户,然后把获取的主管用户填写在“审批人1”中即可。而且该“审批人1”数据应该是不允许手动编辑修改的。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧