CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

神啊!救救我!

楼主landsky(一点浩然气,千里快哉风)2002-07-31 12:39:05 在 MS-SQL Server / 基础类 提问

某表中  
  AA   INT   递增  
  BB   INT  
  在插入记录时要求AA和BB的值相同 问题点数:50、回复次数:7Top

1 楼OpenVMS(半知半解)回复于 2002-07-31 12:43:54 得分 5

create   trigger   mytrigger   on   dbo.table1  
  for   insert  
  as  
  update   a  
  set   BB=AA  
  from   table1   a,inserted   b  
  where   a.AA=b.AA  
   
   
  ---or  
   
  IF   (select   AA   from   inserted)<>(select   BB   from   inserted)  
  ROLLBACK   TRANSTop

2 楼icevi(按钮工厂)回复于 2002-07-31 12:47:06 得分 5

insert   into   mytable   (bb)   values   (0)  
  update   mytable   set   bb=@@identity   where   aa=@@identity  
   
  如果对每条记录都是这样的话,且还有其它字段的话,不如用计算列:  
  create   table   mytable   (aa   int   identity,bb   as   aa,   cc   int   )  
   
  插入记录时:  
  insert   into   mytable   (cc)   values   (0)  
  Top

3 楼duckcn(duck)回复于 2002-07-31 12:51:31 得分 5

那你把BB也改成递增得了。  
   
  or    
  执行完insert后,执行这一句  
  update   yourtable1   set   BB   =   @@IDENTITY   where   AA   =   @@IDENTITY  
  Top

4 楼landsky(一点浩然气,千里快哉风)回复于 2002-07-31 12:58:20 得分 0

我把问题讲清楚点:  
  要求在SQL语句中实现,不用TRIGGER.  
  在以上回复中,都会出现问题.  
  1.如果在很多人都在等待插入记录  
  2.如果某条记录插入不成功,如由1001跳到1003.  
  如何做?Top

5 楼icevi(按钮工厂)回复于 2002-07-31 17:20:00 得分 0

如果用identity这样是正常的,多人操作几乎是不可避免的。Top

6 楼iamxia()回复于 2002-07-31 21:30:04 得分 0

icevi(按钮工厂)的方法  
   
  create   table   mytable   (aa   int   identity,bb   as   aa,   cc   int   )  
   
  难道不行???  
  Top

7 楼oldsky(九指神丐)回复于 2003-01-09 16:26:44 得分 35

如果是sqlserver2000  
  执行完insert后,执行这一句  
  insert   yourtable1(BB)   values(1)  
  update   yourtable1   set   BB   =   @@IDENT_CURRENT('yourtable1')   where   AA   =   @@IDENT_CURRENT('yourtable1')Top

相关问题

  • 神呀,救救我
  • 神啊,救救我
  • 神啊,救救我!
  • 神啊,救救我!!!
  • 神啊!救救我!!!!
  • 神,啊! 救救我吧!!!!!
  • 神呀,救救我吧!!!
  • 神啊,救救我啊,她。。。
  • 神啊!救救我吧!!
  • 神啦救救我把!!!

关键词

  • 执行
  • yourtable1
  • aa
  • ident
  • bb
  • mytable
  • 插入记录
  • insert
  • cc
  • update

得分解答快速导航

  • 帖主:landsky
  • OpenVMS
  • icevi
  • duckcn
  • oldsky

相关链接

  • SQL Server类图书

广告也精彩

反馈

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