CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

请教这个如何写?

楼主wzbstudy(小兵)2003-02-01 23:53:03 在 MS-SQL Server / 疑难问题 提问

有两个表  
  Create   table   a(  
  a1   varchar(50),  
  a2   varchar(50)  
  );  
   
  Create   table   b(  
  b1   varchar(50),  
  b2   int);  
  我想在表a中插入一条记录时,检查表b中b1字段的值,如果插入的值a1在表b中存在,则把表b的b2加一。如果不存在则在表b中插入一条记录,并将b2置1,这个如何实现呢? 问题点数:20、回复次数:6Top

1 楼softrookie(编程新生)回复于 2003-02-02 08:36:36 得分 0

用触发器Top

2 楼wzbstudy(小兵)回复于 2003-02-02 12:31:50 得分 0

我也这样想,但这个触发器如何写呢?  
  我这样写但不行  
   
  Create   Trigger   Tri_a   on   a  
  for   insert    
  As  
  update   b   set   b2=b2+1    
  where   b1   in(select   a1   from   a)  
   
  这样写没有检查当前插入的值,只要b表中b1存在于a表中就会加1,如何改呢???  
   
  多谢Top

3 楼j9988(j9988)回复于 2003-02-02 12:35:49 得分 0

Create   Trigger   Tri_a   on   a  
  for   insert    
  As  
  begin    
  update   b   set   b2=b2+1   from   inserted   A   where   A.a1=b.b1  
  insert   b   select   a1,1   from   inserted   where   a1   not   in   (select   v1   from   b)  
  end    
  Top

4 楼j9988(j9988)回复于 2003-02-02 12:36:13 得分 10

Create   Trigger   Tri_a   on   a  
  for   insert    
  As  
  begin    
  update   b   set   b2=b2+1   from   inserted   A   where   A.a1=b.b1  
  insert   b   select   a1,1   from   inserted   where   a1   not   in   (select   b1   from   b)  
  end    
  Top

5 楼wuhuiai(无悔爱)回复于 2003-02-07 14:25:03 得分 5

Create   Trigger   Tri_a   on   a  
  for   insert    
  As  
  begin    
  update   b   set   b2=b2+1   from   inserted   A   where   A.a1=b.b1  
  insert   b   select   a1,1   from   inserted   where   a1   not   in   (select   b1   from   b)  
  end    
   
  Top

6 楼flyinger(风往北吹)回复于 2003-02-07 14:54:24 得分 5

create   trigger   fly    
  on   a    
  after   insert    
  --   用After   insert   更合适1  
  as  
  begin  
        update   b   set   b2=b2+1   from   inserted   A     where   A.a1=b.b1  
        insert   b   select   a1,1   form   inserted   where   a1   not   in   (select   b1   from     b)  
  endTop

相关问题

  • 这个Sql 如何写?
  • 这个统计如何写?
  • 这个该如何写
  • 如何写这个函数?
  • 这个 xsl 如何写
  • 如何写这个XSLT?
  • 这个sql如何改写??
  • 这个SQL该如何写?
  • 如何写这个视图?
  • 这个视图如何写?

关键词

  • asbegin
  • inserted
  • update b set
  • 表
  • 插入
  • tri
  • create trigger
  • 存在
  • where
  • varchar

得分解答快速导航

  • 帖主:wzbstudy
  • j9988
  • wuhuiai
  • flyinger

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo