CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

触发器高手帮帮忙吧!请将sql2000下的触发器,转成oracle下,一定给分!!!!

楼主iwo99(大肚翁)2003-12-01 18:44:04 在 Oracle / 开发 提问

CREATE   TRIGGER   NET_SK_DELETE   ON   [C_LSZ]    
  FOR   DELETE     AS  
   
  declare   @bz   char  
  declare   @sy   int  
  declare   @rz   int  
   
  select   @rz=CKHS   from   C_RZB  
   
  if   @rz=1  
   
  select   @sy=max(C_NET_SKLSZ.CSY)   from   C_NET_SKLSZ,deleted   where   deleted.CPZBH=C_NET_SKLSZ.CPZBH  
   
  select   @bz=C_NET_SKLSZ.CBZ   from   C_NET_SKLSZ   where     C_NET_SKLSZ.CSY=@sy  
   
  if   @bz='Y'    
    INSERT   C_NET_SKLSZ(CZH,CJZRQ,CPZBZ,CZY,CFSE,CBZ,CPZBH,CZPHM,CFKR,CFKRZH,CFKRKHH)  
  SELECT   deleted.CZH,deleted.CJZRQ,deleted.CPZBZ,deleted.CZY,0   -   deleted.CFSE,'N',deleted.CPZBH,deleted.CZPHM,C_NET_SKLSZ.CFKR,C_NET_SKLSZ.CFKRZH,C_NET_SKLSZ.CFKRKHH  
  FROM   deleted,C_NET_SKLSZ  
  WHERE     deleted.CKM   LIKE   '201%'   AND   ((deleted.CFSE>0   AND   deleted.CHLBZ='0')   OR   (deleted.CFSE<0   AND   deleted.CHLBZ='1'))   AND   C_NET_SKLSZ.CSY=@sy  
   
  else  
      delete   from   C_NET_SKLSZ   where     C_NET_SKLSZ.CSY=@sy  
   
   
   
  CREATE   trigger   NET_SK_INSERT  
  on   C_LSZ  
  FOR   INSERT   AS  
  declare   @rz   int  
  declare   @pzbh   int  
  declare   @fkr   char(40)  
  declare   @zh   char(30)  
  declare   @khh   char(40)  
   
  select   @rz=CKHS   from   C_RZB  
  select   @pzbh   =   CPZBH   from   inserted  
  select   @fkr   =   CHM,   @zh   =   CZH,   @khh   =   CKHH   from   C_FKDW   where   CPZBH   =   @pzbh  
   
  if   @rz=1  
      INSERT   C_NET_SKLSZ(CZH,CJZRQ,CPZBZ,CZY,CFSE,CFKR,CFKRZH,CFKRKHH,CBZ,CPZBH,CZPHM)  
  SELECT   inserted.CZH,inserted.CJZRQ,inserted.CPZBZ,inserted.CZY,inserted.CFSE,@fkr   ,@zh   ,@khh   ,'N',inserted.CPZBH,inserted.CZPHM    
  FROM   inserted  
  WHERE   (   inserted.CKM   LIKE   '201%')   AND   ((CFSE>0   AND   CHLBZ='0')   OR   (CFSE<0   AND   CHLBZ='1'))  
  问题点数:100、回复次数:5Top

1 楼iwo99(大肚翁)回复于 2003-12-01 19:39:46 得分 0

自己顶一下!!!Top

2 楼shishikeke(时时刻刻)回复于 2003-12-01 21:42:14 得分 30

其实oracle下的触发器和sql2000下的没有大的区别   ,有的只是语法的不通,自己对照一个oracle的触发器修改一下就ok了,@这个符号oracle的触发器好像不用的。  
  ------------------------------------------------------  
  OTN   中文技术论坛  
  http://211.99.196.144:8090/forum1/frontshow/index.jsp  
  Top

3 楼iwo99(大肚翁)回复于 2003-12-02 08:43:19 得分 0

我自己改了,但出错了。希望各位帮帮忙啊!Top

4 楼shishikeke(时时刻刻)回复于 2003-12-02 10:58:40 得分 40

老大,哪里错了,提示什么,这里不贴出来,大家想帮你也无能为力啊。Top

5 楼lushangshu(乾三联)回复于 2003-12-02 16:50:46 得分 30

发贴的兄弟,问题解决了吗?  
  如果没有,我可以帮你!  
  Top

相关问题

  • 触发器(ORACLE)!!!!!!!!!
  • 触发器(ORACLE)!!!!!!!!!
  • oracle 触发器??
  • oracle 10g 触发器
  • 求一触发器、存储过程写法,由SQL的转ORACLE的触发器。。。急。。。。
  • sql server触发器问题
  • SQL SERVER触发器问题?
  • sql触发器小问题
  • 关于SQL Server触发器
  • Sql Server7.0触发器问题

关键词

  • sklsz
  • cfse
  • cpzbh
  • deleted
  • rz
  • bz

得分解答快速导航

  • 帖主:iwo99
  • shishikeke
  • shishikeke
  • lushangshu

相关链接

  • Oracle类图书

广告也精彩

反馈

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