致远人员档案员工离职触发器,客户应收款修改
测试例子
哪张表需要触发修改其它表的内容 就在这张中执行,数据库使用的是sqlserver2008
创建触发器
create trigger [MyUser_trigger]
on [dbo].[MyUser]
for insert,delete
as
begin
if exists ( select * from sysobjects where name = 'temp' and type = 'U')
drop table temp
select identity(int,1,1) as rowid,UserName into temp from MyUser
end
-- 开始新建过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[MyUser_trigger]
on [dbo].[MyUser]
for insert,delete
as
begin
--同时插入数据
declare @id int,@name varchar(50),@age varchar(50),@address varchar(50); --声明
select @id= id,@name=name,@age=age,@address=address from MyUser --获取到插入的数据并且给变量赋值
--insert into MyUserb values(@id,@name,@age,@address) --将数据插入到指定的表中
UPDATE MyUserb SET address=@address where name=@name and age=@age
end
go
测试完成标准sql
create trigger [formmain_0084_trigger]
on [dbo].[formmain_0016]
for insert
as
begin
if exists ( select * from sysobjects where name = 'temp' and type = 'U')
drop table temp
select identity(int,1,1) as rowid,field0001 into temp from formmain_0016
end
--开始写触发内容
--开始新建过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[formmain_0084_trigger]
on [dbo].[formmain_0016]
for insert
as
begin
--同时插入数据
declare @field0001 varchar(100),@field0007 decimal(18),@field0027 varchar(100),@field0006 datetime; --声明 姓名,身份证号,在职状态,离职日期
select @field0001=field0001,@field0007=field0007,@field0027=field0027,@field000from formmain_0016 6=field0006 --获取到插入的数据并且给变量赋值
UPDATE formmain_0084 SET field0020=@field0027,field0021=@field0006 where field0003=@field0001 and field0007=@field0007
end
go
注意事项:
流程审批结束之后再触发
客户应收款信息变更触发器
主表0096 明细表0097
--创建主表0096触发器
create trigger [formmain_0096_trigger]
on [dbo].[formmain_0096]
for insert
as
begin
if exists ( select * from sysobjects where name = 'temp' and type = 'U')
drop table temp
select identity(int,1,1) as rowid,field0001 into temp from formmain_0096
end
--新建触发过程和内容
--开始新建过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[formmain_0096_trigger]
on [dbo].[formmain_0096]
for insert
as
begin
--同时插入数据
declare @field0001 varchar(100),@field0007 decimal(18),@field0027 varchar(100),@field0006 datetime; --声明 姓名,身份证号,在职状态,离职日期
select @field0001=field0001,@field0007=field0007,@field0027=field0027,@field000from formmain_0016 6=field0006 --获取到插入的数据并且给变量赋值
UPDATE formmain_0084 SET field0020=@field0027,field0021=@field0006 where field0003=@field0001 and field0007=@field0007
end
go
本文来自博客园,作者:西北后生,转载请注明原文链接:https://www.cnblogs.com/tianyuanblog/p/16718382.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通