SqlServer中实现字段更改批量更新整个字段
实现功能:当我对DSCHCB表的HCB010字段进⾏更改的时候,更新整个HCB010字段为我修改的值
前提条件:HCB010字段的值默认为相同
USE[DSB]
GO
/****** Object:  Trigger [dbo].[TRIG_DCSHCB]    Script Date: 03/20/2020 14:20:53 ******/
SET ANSI_NULLS ON
GO
批量更新sql语句
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger[dbo].[TRIG_DCSHCB]on[dbo].[DCSHCB]for update as update dbo.DCSHCB  set HCB9
04=convert(varchar, getdate(),121)from  dbo.D CSHCB O join INSERTED I on(O.HCB001=I.HCB001)and(O.HCB002=I.HCB002)
--先定义变量来存储我们的修改值和采购底稿
DECLARE@DATE NVARCHAR(8)--存储修改的预交货七⽇
DECLARE@DH NVARCHAR(20)--存储底稿单号
IF UPDATE(HCB010)
SELECT@DATE=I.HCB010 FROM inserted I LEFT JOIN DCSHCB O ON I.HCB001=O.HCB001 AND
I.HCB002=O.HCB002 WHERE I.HCB001=O.HCB001 AND I.HCB002=O.HCB002
SELECT@DH=I.HCB001 FROM inserted I LEFT JOIN DCSHCB O ON I.HCB001=O.HCB001 AND
I.HCB002=O.HCB002 WHERE I.HCB001=O.HCB001 AND I.HCB002=O.HCB002
IF@DH<>''AND@DATE<>''--@DH和@DATE不为空
UPDATE DCSHCB SET HCB010=@DATE FROM DCSHCB WHERE HCB001=@DH
ELSE
BEGIN
RAISERROR('Error!',16,1)
END
UPDATE写好之后,通过CRETE到⼀个新查询编辑窗⼝,然后修改触发器的名称及和第⼀个UPDATE为INSERT。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。