SQL编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:33:50
现在有A、B、C三个表,B、C有外键b、c分别连到A的a上,现在要删除A表中的某行,要判断B、C中是否有关联的,有的就提示不能删除,没有的就删除这条记录,请大家帮帮忙,看看怎么做?

delete without alert:
DELETE FROM A
WHERE NOT EXISTS(SELECT * FROM B WHERE (B.Aid = A.Aid))
AND NOT EXISTS(SELECT * FROM C WHERE (C.Aid = A.Aid))

just check:
DECLARE @aid int
IF (EXISTS(SELECT * FROM B WHERE (B.Aid = @aid))
OR EXISTS(SELECT * FROM C WHERE (C.Aid = @aid)))
--ALERT
ELSE
DELETE FROM A
WHERE (A.Aid = @aid)

DELETE A WHERE aid = '*' and aid NOT IN(select A.aid FROM B,C,A where b.bid = a.aid and c.cid = a.aid)大概思路是这样如果和你说的这个程序连接包括消息提示 可以另外写一个sql返回一个标记