blog.cfosea.cn
尘埃在线个人博客
welcome to read the blog—http://blog.cfosea.cn
[电脑网络]两表附条件删除记录SQL语句
※尘埃※ 发表于:2014/7/17 16:39:20 阅读(1954)次 评论(0)条 编辑 删除 私密 禁评 置顶 
本文链接:
      在SQL 2000里,有两张数据表,A表中的字段M与B表中的字段N存在对应关系,即通过M的值,能查出N的记录数,A与B是一对多的关系,即A表中的一条记录,可能对应B表中的多行记录,
        现在要做一个批最数据的删除操作。要求是:先过滤A表中的记录,用条件将A表中的字段X的值等于123,这样会得到A表中所有X=123的记录,然后要把B表中的与A表对应的数据全部删除掉,再来删除A表中的这些记录,作用是清空这两个表中符合条件的记录。
     问,如何用SQL语句批量删除B表中的相应数据?

 查询语句:
 select * from B inner join A on B.n=A.m where A.x=123
删除语句:
 Delete B from B inner join A on B.n=A.m where A.x=123
 
语句实例(ST_StkRecord为主表、ST_StkRecordLine为子表):
DELETE   ST_StkRecordLine    
                FROM     ST_StkRecordLine INNER JOIN   ST_StkRecord 
                          ON ST_StkRecordLine.cHeadGUID = ST_StkRecord.cGUID
                                 WHERE     (ST_StkRecord.cStoreGUID = '776785073741109736')
----
修改表中的值( jxc_bm_sp,temptable分别为两张表,bm_lb为共用的字段)
UPDATE jxc_bm_sp SET bm_lb = 7
              FROM jxc_bm_sp INNER JOIN    TempTable ON jxc_bm_sp.bm = TempTable.bm
楼主签名
有些个性,但没怎么表现!有些背叛,但一直都很守法! 有些冷默,却天性怜悯动情!想摆脱普通与平凡,但却依然徘徊未进!坚持原则,但不失灵活性!无为,但不失上进心!无情,却不失友情!想拥有钱,但却不迷于钱!
  用户登录 用户注册 进入博客 
名 称: 性 别: QqNum: 邮 箱:
个人主页: 来自地区: 头像选择: >>‖‖》》全部头像列表《《‖‖
 提示:如果您在本站注册了用户名,将允许修改自己的评论记录,同时还能在本网站评论及留言处显示您的个性签名!