sql server2008里面的触发器

10 篇文章 0 订阅

   

       触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。

       SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。  

  //1   在哪里建立触发器

通过 数据库->你的数据库->表->触发器->右击->新建触发器.
和新建一个查询,然后再写上触发器是一样的..
        只是前者,编辑器帮你写了个开头而已,

        编写完后,点击“执行”按钮执行命令      



  //2   在插入操作时删除ID值最小的行,用于解决历史备份问题

USE [wwwTest]
GO
/****** Object:  Trigger [dbo].[AfterInsert]    Script Date: 05/07/2017 17:41:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================


ALTER TRIGGER [dbo].[AfterInsert] ON [dbo].[DuanSaiCheckResultTab] 
FOR INSERT


AS
begin
declare @rowCount int 
select @rowCount=count(RowID) from [DuanSaiCheckResultTab]

if(@rowCount>10)

delete from [DuanSaiCheckResultTab] 
  where RowID= 
(select min(RowID) from [DuanSaiCheckResultTab]) 

end
   

  //3   把删除的记录写进历史记录表

USE [wwwTest]
GO
/****** Object:  Trigger [dbo].[AfterDelete]    Script Date: 05/07/2017 17:48:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================


ALTER TRIGGER [dbo].[AfterDelete] ON [dbo].[DuanSaiCheckResultTab] 
FOR delete
AS

INSERT INTO [DuanSaiCheckResultTab2] 
SELECT 
DuanSaiID,CheckTime,CheckStandard,SourcePicPath1,
SourcePicPath2,SourcePicPath3,CheckResult,CheckResultPicPath,
Addition 
FROM deleted


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值