各位帮帮忙,关于触发器的问题谢谢了(我的分都给你们了只求你们回答我)
CREATE TRIGGER bp_InsTankCurve
on Rpt_CaseRecord
for insert,update
as
begin
declare @TankID as int
declare @sDate as varchar(10)
declare @sTime as varchar(10)
declare @OilNumCode as varchar(20)
declare @OilHeigh as decimal (18,1)
select
@TankID = tankID,
@sDate = sdate,
@sTime = stime,
@OilNumCode = oilNumCode,
@OilHeigh = oilh
from inserted
insert into [Dic_TankCurve]
(
TankID,
sDate,
sTime,
OilNumCode,
OilHeigh
)
values
(
@TankID,
@sDate,
@sTime,
@OilNumCode,
@OilHeigh
)
end
这是我写的一个触发器,我想让触发器忽略某一行的更新,说明白点就是SQL SERVER 的触发器是针对表的,怎样写一个针对字段的触发器。
请高人给写一个例子。
谢谢了
[解决办法]
if update(字段)
begin
...
end
[解决办法]
用IF UPDATE做判斷
IF UPDATE (column)
測試針對所指定資料行的 INSERT 或 UPDATE 動作,並且不含使用 DELETE 作業。可以指定一個以上的資料行。由於資料表名稱是在 ON 子句中指定,請勿在 IF UPDATE 子句中的資料行名稱之前加入資料表名稱。若要測試多個資料行的 INSERT 或 UPDATE 動作,請在第一個 UPDATE(column) 子句後面指定各別的 UPDATE(column) 子句。假如 UPDATE 在 INSERT 動作傳回 TRUE 值,因為資料行不是有外顯的值就是有內隱的 (NULL) 值插入。