delete t.*,t1.*,t2.* from tale_a t1, tale_a_b t, tale_b t2
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、嘉興ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的嘉興網(wǎng)站制作公司
where t1.id=t.aid and t.bid=t2.id and t1.你的刪除條件
前提是 a表 a_b 表 b表 根據(jù)你的關(guān)聯(lián)條件 inner join 能夠查到內(nèi)容
才會刪除成功
t1.id=t.aid and t.bid=t2.id 替換成你的三個表的關(guān)聯(lián)條件
樓主這個級聯(lián)更新我才疏學(xué)淺給分為2步驟, 先更新A表。 在更新B表,一條語句更新2張表的寫法我目前寫不來。下面是我的sql 你看是否與你的要求一致。
--更新A表update A set A.tag=0 from A INNER JOIN ( --獲取 多對多關(guān)系C表 并根據(jù)A表時間來獲得需要更新的A表ID 和B表ID select c.Aid,c.Bid from C INNER JOIN A ON A.id = c.Aid INNER JOIN B ON B.id =c.Bid where A.TimegetDate() --根據(jù)某時間條件。 AND A.Tag =0 --A的Tag 為0 時 ) result
ON resule.Aid=A.ID
--更新B表update B set B.tag=0 from B INNER JOIN ( --獲取 多對多關(guān)系C表 并根據(jù)A表時間來獲得需要更新的A表ID 和B表ID select c.Aid,c.Bid from C INNER JOIN A ON A.id = c.Aid INNER JOIN B ON B.id =c.Bid where A.TimegetDate() --根據(jù)某時間條件。 AND A.Tag =0 --A的Tag 為0 時 ) result
ON resule.Bid=B.ID
create trigger update_id on a
for delete
as
Declare @qqlx_bid varchar(20)
Declare @qqlx_cid varchar(20)
--獲得刪除記錄
select @qqlx_bid=bid,@qqlx_cid=cid from deleted
update b set bid=0 where bid=@qqlx_bid;
update c set cid=0 where cid=@qqlx_cid;
end
go
學(xué)生表:stu。選課表:sc。代碼如下已測試通過。
select stu.sname,count(sc.cname) as '選修總數(shù)目' from stu,sc where stu.sid=sc.sid group by stu.sname order by count(sc.cname) desc limit 0,7