要求:这里接到一个要求,需要审核更新之后自动去更新批准,
质保会签后自动更新标准话
原因:审核流程过于麻烦,部分人不愿意签名,一开始做的时候给了自动签名,也就是表单生成后给了默认值,但是前面没签字看起来太假了,于是改成了前面签完后,后面在自动给签上
过程:运用update 触发器 ,设置条件,前者签完字,更新后不为空,则更新后者,同时只更新目前的一条数据
那么需要做到的事情有:1、找到该表单的唯一编号
2、确认更新条件
3、确认更新语句
CREATE TRIGGER 签名触发器
ON [dbo].[铸件工艺单]
AFTER UPDATE
AS
BEGIN
declare @a varchar(20);
declare @b char(10);
declare @c char(10);
declare @d char(10);
declare @e char(10);
select @a=工艺单编号 from inserted;
select @b=批准 from inserted;
select @c=会签1 from inserted;
select @d=会签 from inserted;
select @e=标准化 from inserted;
if (@b is not null and @d is null)
update 铸件工艺单 set 会签='24' where 工艺单编号=@a
if (@c is not null and @e is null)
update 铸件工艺单 set 标准化='37' where 工艺单编号=@a
END
GO
在这里我尝试试用了update ([])语句,但是发现这个更新是当前表单更新,与当前数据无关,只要这个表单做了更新操作,哪怕是 null更新为null ,这个语句也会执行 (可能跟软件的更新语句有关,软件有可能是全表更新的,所以这个语句一直是会执行的)