日期:2014-05-18 浏览次数:20910 次
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: brallow
-- Create date: 2008-10-17
-- Description: Trigger Example For CSDN
-- =============================================
CREATE TRIGGER [QUAutoCalc]
ON [dbo].[exam_QuestionName]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Declare @eQuestionCode as varchar(10);
Declare @eTypeCode as varchar(10);
Declare @eQuestionNum as int;
--处理删除的数据
select
@eQuestionCode= QuestionCode,
@eTypeCode = TypeCode,
@eQuestionNum=QuestionNum
from Deleted;
if(@eQuestionCode is not Null and @eTypeCode is not Null)
begin
update exam_QuestionType
set QuestionNum = QuestionNum - @eQuestionNum
where TypeCode = @eTypeCode;
end
--清空数据
set @eQuestionCode = Null;
set @eTypeCode = Null;
set @eQuestionNum = Null;
--处理插入的数据
select
@eQuestionCode= QuestionCode,
@eTypeCode = TypeCode,
@eQuestionNum=QuestionNum
from Inserted;
if(@eQuestionCode is not Null and @eTypeCode is not Null)
begin
update exam_QuestionType
set QuestionNum = QuestionNum + @eQuestionNum
where TypeCode = @eTypeCode;
end
END