• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
:皒祗想自私旳占有著袮
.Net Ajax SQLserver Flex UI JS 一样都不能少...
博客园    首页    新随笔    联系   管理    订阅  订阅

关于SQL触发器的简单应用 (转)

触发器

先建两个表

CREATE TABLE [dbo].[b] (
 [BID] [int] IDENTITY (1, 1) NOT NULL ,
 [AID] [int] NOT NULL ,
 [BStr] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[a] (
 [AID] [int] IDENTITY (1, 1) NOT NULL ,
 [AStr] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [AStr2] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

--------下面分别是insert/delete/update触发器

CREATE TRIGGER [insertA] ON [dbo].[b]
FOR INSERT
AS
begin
insert into a(AStr,AStr2)
select top 1 BStr,BStr from inserted
end 

CREATE TRIGGER [delAID] ON [dbo].[b]
FOR DELETE
AS
delete from a where a.AID in (select AID from deleted)

CREATE TRIGGER [upA] ON [dbo].[b]
FOR UPDATE
AS
if UPDATE(AID) or update(BStr)
begin
 Update a
 Set a.AStr=b.BStr
 From b
 Where a.AID=b.AID
end

posted @ 2008-02-27 11:04  JoyBin  阅读(275)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3