伦敦奥运中国:请高人详细指点一下以下触发器实例的过程

来源:百度文库 编辑:高校问答 时间:2024/04/29 16:20:11
CREATE TRIGGER [affair_read_InsertTrigger] ON dbo.affair_read
FOR INSERT
AS

DECLARE
@doc_no varchar(30),--邮件发送人
@tcode varchar(250),--邮件阅读人
@Message_ID int,--消息ID
@ename varchar(64), --职工姓名
@ecode varchar(24) --职工代码

BEGIN TRAN Remove_TopSubject

Select @doc_no=doc_no From Inserted
Select @tcode=tcode From Inserted

Save Tran my_Save1

DELETE FROM T_Sys_Message WHERE Message_ID IN
(SELECT Message_ID FROM (SELECT a.Message_ID FROM T_Sys_Message a,T_Sys_MessageInterface b
WHERE a.Message_ID=b.Message_ID AND a.Takeover_Person=@tcode AND b.Column_Value=@doc_no) AS TMP)
If @@Error = 0
Commit Transaction
Else
Begin
Rollback Transaction my_Save1
Raiserror('数据库错误,请与系统管理员联系',16,1)
End

/*------------------代码结束---------------------*/

我对里边的好多东西都不知道是什么回事,希望高人能帮我解释一下,
请给出每段的详细意思,有什么作用?为什么要这样做?

这个是delphi吧?