我对这个问题的逻辑感到困惑,我的教授没有告诉我们任何关于这个的事情......有人可以向我解释这个,这是我所做的可怕的例子>我肯定需要修复 插入的信息和存储的值。
创建一个名为TR_5的触发器,记录对服务的CostPerHour所做的更改。当对CostPerHour进行更改时,将记录添加到CostPerHourLog表(如下所示)。但是,如果CostPerHour的值没有改变,请勿记录更改!显示用于创建触发器和创建表的代码。所有表属性都是必需的。
Create Table CostPerHourLog
(
LogID [int]Identity(1,1) NOT NULL,
ChangeDateTime smalldatetime,
ServiceCode varchar(15),
Description varchar(100),
OldCostPerHour smallmoney,
NewCostPerHour smallmoney
)
Drop trigger TR_5
go
Create trigger TR_5
on CostPerHour
for update
as
if @@rowcount<0
begin
if not exists (select * from costperhourlog)
insert into CostperHourLog
(LogID,ChangeDateTime,ServiceCode,Description,OldCostPerHour,NewCostPerHour)
Values
(LogID,ChangeDateTime,ServiceCode,Description,OldCostPerHour,NewCostPerHour)
end
return
答案 0 :(得分:0)
ALTER TRIGGER TR_5
ON CostPerHour
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
if exists(select * from inserted except select * from deleted)
begin
insert into CostPerHourLog
end
END
GO