『壹』 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觸發器,如下圖所示,然後進入下一步。