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

这条sql语句有问题吗???

楼主fhwang8(奋斗中)2003-12-02 16:43:50 在 PowerBuilder / 基础类 提问

DELETE   CL_Ry_Base      
          FROM   CL_Ry_Base,        
                    CL_Ry_contract,        
                    CL_Ry_diaod,        
                    CL_Ry_Jcxx,        
                    CL_Ry_Relative,        
                    CL_Ry_Resume,        
                    CL_Ry_zcxx      
        WHERE   (   CL_Ry_contract.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   CL_Ry_diaod.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   CL_Ry_Jcxx.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   CL_Ry_Relative.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   CL_Ry_Resume.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   CL_Ry_zcxx.ryid   =   CL_Ry_Base.ryid   )   and      
                    (   (   CL_Ry_Base.ryid   =   '2MM8'   )        
                    )       ;  
   
  为什么删除不掉!! 问题点数:20、回复次数:11Top

1 楼fhwang8(奋斗中)回复于 2003-12-02 16:51:48 得分 0

错了,我的需求是想删掉   ryid   =   2MM8   所有表的记录,这些表都与基本信息表cl_ry_base有关联,如何用存储过程实现,已达到数据的一致性Top

2 楼lmby(鹿门布衣)回复于 2003-12-02 17:00:06 得分 0

好象没错。在查询分析器上执行看看。Top

3 楼ldy(罗大佑)回复于 2003-12-02 17:01:24 得分 0

语法错误:  
  Delete   From   TableBName....Top

4 楼fhwang8(奋斗中)回复于 2003-12-02 17:06:04 得分 0

在查询分析器上不能执行Top

5 楼ldy(罗大佑)回复于 2003-12-02 17:15:26 得分 10

不知道这样写是否正确  
  DELETE   FROM   CL_Ry_Base      
  WHERE   CL_Ry_Base.ryid     =   '2MM8'   And      
  Exists   (Select   1   From   CL_Ry_contract   A   Where   A.ryid   =   '2MM8')   And    
  Exists   (Select   1   From   CL_Ry_diaod   B   Where   B.ryid   =   '2MM8')   And    
  Exists   (Select   1   From   CL_Ry_Jcxx   C   Where   C.ryid   =   '2MM8')   And    
  Exists   (Select   1   From   CL_Ry_Relative   D   Where   D.ryid   =   '2MM8')   And    
  Exists   (Select   1   From   CL_Ry_Resume   E   Where   E.ryid   =   '2MM8')   And    
  Exists   (Select   1   From   CL_Ry_zcxx   F   Where   F.ryid   =   '2MM8');Top

6 楼lmby(鹿门布衣)回复于 2003-12-02 17:29:25 得分 0

晕,看错。delete   from   后不能带多个表的,你要删除多个表要写多条语句,。Top

7 楼zhoufenghubei(vert)回复于 2003-12-02 19:28:21 得分 0

楼上错了!Top

8 楼scan30(scan)回复于 2003-12-02 19:46:40 得分 5

DELETE   FROM   CL_Ry_Base      
          FROM   CL_Ry_Base   A   INNER   JOIN        
                    CL_Ry_contract   B   ON     A.ryid   =   B.ryid   INNER   JOIN      
                    CL_Ry_diaod   C   ON   C.ryid   =   B.ryid   INNER   JOIN        
                    CL_Ry_Jcxx   D   ON   D.ryid   =   C.ryid   INNER   JOIN        
                    CL_Ry_Relative   E   ON   E.ryid   =   D.ryid   INNER   JOIN        
                    CL_Ry_Resume   F   ON   F.ryid   =   E.ryid   INNER   JOIN        
                    CL_Ry_zcxx   G   ON   G.ryid   =   F.ryid    
          WHERE   A.ryid   =   '2MM8';Top

9 楼scan30(scan)回复于 2003-12-02 19:48:53 得分 0

可在cl_ry_base写删除触发器Top

10 楼suzh1133(suzh)回复于 2003-12-03 16:16:36 得分 5

delete   from   后面只能跟一个表名。  
   
  可以这样   delete   from   CL_Ry_Base   where   CL_Ry_Base.ryid   =   '2MM8'     and   CL_Ry_Base.ryid   in   (select   ryid   from   CL_Ry_contract   )   and   ...   同上Top

11 楼fhwang8(奋斗中)回复于 2003-12-03 16:26:30 得分 0

我用级连删除了,比较危险Top

相关问题

  • 请看这条SQL语句
  • 看看这条SQL语句
  • 一条sql语句
  • 一条sql语句
  • 一条sql语句!
  • 一条SQL语句
  • 一条sql语句
  • 一条sql语句
  • 求条SQL语句
  • 一条sql语句

关键词

  • ryid
  • ry
  • cl
  • jcxx
  • diaod
  • zcxx
  • mm8
  • 表
  • contract
  • inner join

得分解答快速导航

  • 帖主:fhwang8
  • ldy
  • scan30
  • suzh1133

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

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