日期:2014-05-18 浏览次数:20575 次
DELETE A1 FROM A A1 WHERE NOT EXISTS ( SELECT 1 FROM B WHERE B.连接字段 = A1.连接字段 )
------解决方案--------------------
以上语句删除无约束数据,自己确定是否可以执行
------解决方案--------------------
LZ的约束指的是什么东西
------解决方案--------------------
直接加上个where 条件?
------解决方案--------------------
--方法1 delete from a from table1 as a inner join table2 as b on a.id<>b.id --id是两表之间的关联字段 --方法2 delete from table1 where id not in (select id from table2)
------解决方案--------------------
上面的都已经给出了问题的答案了,不知道楼主是不是所要的结果!
------解决方案--------------------
那就不好办了,连你自己都不知道约束的字段,那怎么叫sql给你判断哪条记录该删除哪条不该删除呢?
那只好问涉及数据库的人了!
------解决方案--------------------
楼主,约束是列概念,你那个题目有点像是把它转成行的概念了。
我说一下我觉得你的意思中处理方法
2008以后(以前的我不清楚,因为我在用2008),有一个CONTAINS 的函数,具体用法看联机丛书,你就检查这个函数返回的是否为true就可以知道有没有约束了。
------解决方案--------------------
可以做到,时间问题,给你一个思路,需要做一段t-sql
一、你把表a复制一个到表b。
二、用try
先取出记录id号,一条一条记录的删,用try,如果删除失败,就在表b中标上该条记录是关联的,不能删除。
这样,就取出了关联的记录。