我的mssql Db中有2个表。
[dbo].[Jobs]([StartDate],[FinishDate],[Description],[UserId])
[dbo].[Penalties]([Cost],[Description],[UserId])
And following trigger
CREATE TRIGGER TriggerPenalty
ON dbo.Jobs AFTER INSERT
AS
INSERT dbo.Penalties(Cost, Description, UserId)
SELECT Cost, Description, UserId
FROM dbo.Jobs
但是在我的Cost值中,我需要插入预先计算的值,该值取决于日期:cost =(如果大于10:00 AM,则从开始日期获取分钟数)* 100。而且我还需要只有在开始日期时间大于10:00 AM时才能启动我的触发器。有谁能够帮我?我是触发器的新手。
答案 0 :(得分:0)
请使用"而不是触发"对于插入,它将有助于解决您的查询。下面不是运行代码,但它会让你对触发器有一个合理的了解。
enter code here
CREATE TRIGGER TriggerPenalty
ON dbo.Jobs INSTEAD OF Insert
AS
declare @cost int, @Description varchar(255), @userid int
select @cost=i.cost from inserted
select @Description=i.Description from inserted
select @Userid=i.Userid from inserted
if Getdate()>'Startdate'
begin
Process the logic
end