当前位置:首页 » 编程语言 » sql触发器updated
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql触发器updated

发布时间: 2022-02-02 12:44:36

‘壹’ sql update 触发器

create trigger tr_UpdateDptNo
on 部门信息表
for update
as
begin
if update( 部门编号 )
begin
-- 实际内容
end
end

update 部门信息表 set 部门编号 = xxx

‘贰’ sql触发器 update

使用更新什么字段才执行触发器就行了

CREATE TRIGGER GXDHSL ON RKD
FOR UPDATE
AS
IF(Update(字段名))
begin

DECLARE @DHDH VARCHAR(50) --计划单号
DECLARE @SL decimal(18,6) --修改前数量
DECLARE @DHSL decimal(18,6) --修改后数量
SELECT @DHDH=ysdh,@SL=SSSL FROM DELETED
SELECT @DHSL=SSSL FROM INSERTED
UPDATE GL_QGD SET DHSL=DHSL-ISNULL(@SL,0) WHERE DH=@DHDH
end

go

‘叁’ sql if update()触发器问题

触发器的触发条件仅仅是数据改变操作是否执行了,即一旦执行insert、update、delete三种命令之一,就要触发。
在update触发器中,通过if update()来过滤,看看是否需要采取什么相应动作,这种逻辑正常、合理呀。

‘肆’ sql触发器update

先不说你脚本中的笔误

你在触发器里并没有对表2进行操作呀
update 表1 set realname=@realname where uid=@uid
这个是你写错了吧?应该是表2才对。

‘伍’ SQL语句创建update触发器

create trigger up_salary on employee INSTEAD OF update
as if update (salary)
begin
declare @newSalary numeric(10,2)
declare @oldSalary numeric(10,2)
select @newSalary = salary from updated
select @oldSalary = salary from employee where emp_id = (select emp_id from updated)
if @newSalary > @oldSalary * 1.1
print '工资变动不能超过原来工资的10%'
else
update employee set salary = @newSalary where emp_id = (select emp_id from updated)
end
go

‘陆’ sql 触发器 update

select @修改前的值=bianhao from deleted
select @修改后的值=bianhao from inserted

‘柒’ SQL触发器里update(字段名)没有变化怎么写语句

要比较 Deleted 和 Inserted 2表中的值是否一致 ,才能确定字段是否被修改了。
如果字段A修改前是AAA修改后也是AAA,那也会触发 if update(字段A) 成立 。

‘捌’ SQL触发器怎样更新数据

--创建需触发的表
create table cfq(
a int,
b int
)
--创建触发器,监视该表
CREATE TRIGGER t_cfq ON dbo.cfq
for INSERT, UPDATE, DELETE
AS
begin
set nocount off
declare @a int
select @a=a from cfq
update cfq set b=@a where a=@a
end
--触动触发器
insert into cfq(a,b) select 2,null
insert into cfq(a,b) select 3,null
select * from cfq

所得结果
a b
2 2
3 3

‘玖’ sql如何取得触发器update前的值

具体操作步骤如下:

1、首先,创建一个触发器,要求是在AddTable表上创建update触发器,如下图所示,然后进入下一步。