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

请问这个触发器怎么写?(在线等……)

楼主hanxianlong(!!!!!)2006-10-04 16:10:30 在 MS-SQL Server / 基础类 提问

各位,想在某个表删除,修改记录以后判断一下列"工资"是否小于0如果小于0则给它置为0,  
  应该怎么做?  
  表名:工资表  
  字段名:工资  
   
  小弟谢各位了!!!!! 问题点数:10、回复次数:6Top

1 楼seai(唯一)回复于 2006-10-04 16:29:47 得分 10

USE   pubs  
  IF   EXISTS   (Select   name   FROM   sysobjects  
  Where   name   =   'MYTRI'   AND   type   =   'TR')  
  Drop   TRIGGER   MYTRI  
  GO  
  Create   TRIGGER   MYTRI  
  ON   YOURTABLENAME  
  FOR   Update  
  AS    
  DECLARE   @GZ   INT  
  SELECT   @GZ=GZ   FROM   INSERTED  
  IF   @GZ<0  
  BEGIN  
  RAISERROR   ("你的工资数小于0,系统自己更改为0",50009,   16,   10)  
  UPDATE   YOURTABLENAME   SET   GZ=@GZ  
  END  
  GO  
   
  记得以后给分多点哦,我没分了,需要多点分,呵呵!  
  Top

2 楼hanxianlong(!!!!!)回复于 2006-10-04 16:30:50 得分 0

谢了楼上的!马上给分!Top

3 楼seai(唯一)回复于 2006-10-04 16:48:39 得分 0

忘了一关键地方,不好意思啊  
   
   
  UPDATE   YOURTABLENAME   SET   GZ=@GZ   WHERE   ID=@IDTop

4 楼seai(唯一)回复于 2006-10-04 16:50:37 得分 0

重写一下  
   
  USE   YOURDATABASE  
  IF   EXISTS   (Select   name   FROM   sysobjects  
  Where   name   =   'MYTRI'   AND   type   =   'TR')  
  Drop   TRIGGER   MYTRI  
  GO  
  Create   TRIGGER   MYTRI  
  ON   YOURTABLENAME  
  FOR   Update  
  AS    
  DECLARE   @GZ   INT,@ID   INT--保存操作列的值和ID,ID指表中的唯一标识列  
  SELECT   @GZ=GZ   FROM   INSERTED  
  IF   @GZ<0  
  BEGIN  
  RAISERROR   ("你的工资数小于0,系统自己更改为0",50009,   16,   10)  
  UPDATE   YOURTABLENAME   SET   GZ=@GZ   WHERE   ID=@ID  
  END  
  GO  
  Top

5 楼yjkarmon()回复于 2006-10-04 18:50:06 得分 0

create   trigger   tr_name   on   工资表  
  for   delete,   update  
  as  
  update   工资    
  set   工资   =   0  
  where   工资   <   0  
  Top

6 楼hanxianlong(!!!!!)回复于 2006-10-04 19:05:02 得分 0

yjkarmon()   :  
  谢过!Top

相关问题

关键词

得分解答快速导航

  • 帖主:hanxianlong
  • seai

相关链接

  • SQL Server类图书

广告也精彩

反馈

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